跳转到主要内容

跟踪您网站的流量并生成定制报告

项目描述

作者

Justin Quick <justquick@gmail.com>

版本
0.1
pip install mongol==0.1.0

Mongol是一个网站分析工具,允许您跟踪您网站的流量并生成定制报告。它使用MongoDB作为数据存储,并使用Python和pymongo来填充和查询数据库。它使用标准的WSGI来收集分析信息并服务跟踪GIF像素。可以将自定义分析数据扔给服务,然后可以生成自定义报告来跟踪几乎所有您想要的东西。该项目非常适合回答像“哪些是前10个最受欢迎的页面?”这样的问题。

要求

Mongol需要pymongo来连接到MongoDB实例。对于服务,建议使用Gevent,但它也可以与Tornado和甚至Apache/mod_wsgi一起使用。以下是推荐的依赖项列表

sudo pip install pymongo gevent

安装

设置和安装MongoDB。这里是他们的快速入门指南。接下来,下载源代码并安装脚本

git clone git://github.com/justquick/mongol.git
cd mongol
sudo python setup.py install

mongol-serve

mongol-serve [address:port]

在可选的地址和端口上启动服务实例。默认为主机地址 0.0.0.0:8000。此服务提供跟踪 GIF,但您可以传递任何类型的分析数据作为 GET 参数。唯一需要的两个参数是 1) site,它是您站点的域名,2) url,它是您希望跟踪的页面的绝对 URL。如果浏览器发送的 HTTP_REFERER 中包含跟踪 GIF 所在的页面,则 siteurl 将被填充。其他任何 GET 参数都将存储以备后用。

mongol-report

mongol-report config-file

根据在 config-file 文件名参数中找到的配置参数,从分析数据库生成 JSON 报告。最好将其放在 cronjob 中,以便生成的报告保持最新。报告文件可以由单独的服务(理想情况下是 lighttpd)提供,这样分析服务就不会因提供报告而变得拥堵。

配置选项

配置文件包含在运行 mongol-report 时要生成的报告的部分。每个部分名称将生成一个名为 section-name.json 的报告文件。以下是每个部分的选项

  • output - 必需的字符串。存储文件的输出目录(例如 ~/mongol/reports

  • time - 可选字符串。移除旧记录的时间(例如 days:2)。Mongol 非常适合查看过去 X 段时间的过去数据,并删除任何在此之前的记录。默认情况下,它不会进行任何限制。

  • callback - 可选字符串。用于包装结果的函数名称以创建正确的 JSONP 报告。默认为 results

  • limit - 可选整数。限制报告中的结果。默认为 10

  • order - 可选字符串。排序结果。可以是 A(升序)或 D(降序)。默认为 D

  • mapper - 可选字符串。用于 MongoDB 的 map/reduce 功能的映射函数的 JS 源代码。默认为

    function () {
        emit({url:this.url, title:this.title}, this.pageviews);
    }
  • reducer - 可选字符串。用于 MongoDB 的 map/reduce 功能的减少函数的 JS 源代码。默认为

    function (key, values) {
        var total = 0;
        for (var i = 0; i < values.length; i++) {
            total += values[i];
        }
        return total;
    }

有关 map/reduce 方面的帮助,请参阅 MongoDB 的 MapReduce 文档

待办事项

  • 使用 Cookie

  • 启用 MongoDB 集群支持

项目详情


由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面