跟踪您网站的流量并生成定制报告
项目描述
- 版本:
- 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 所在的页面,则 site 和 url 将被填充。其他任何 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 集群支持