开源网站访问统计系统Piwik的基本使用

摘要  作为网站站长,对于网站统计的系统可能并不陌生,如百度统计,google analysis之类的产品并不陌生。本文介绍的是一种替代这一类产品的开源系统——piwik,功能上一点不输于商业的统计系统。

piwik简介

最近试用了开源的网站访问统计系统——piwik,觉得功能非常强大,一点不输于商业产品百度统计与google analysis,替代他们完全没有问题。

关于piwik的简介可以去piwik的官网(http://piwik.org)查看,有详细的介绍和视频演示。之前OSChina也有简单的介绍(http://www.oschina.net/p/piwik)。

以下是采集到的分析数据效果图:

在此输入图片描述

在此输入图片描述

piwik安装

首先需要解决依赖项(http://piwik.org/docs/requirements/),ubuntu/debian使用下列命令安装所有依赖项(我用的是apache,别的webserver请替换成相应的软件包)

?
1
apt-get install apache2 mysql-server php5 php5-mysql php5-gd

如需定位访客的地理位置,参考官方文档: http://piwik.org/docs/geo-locate/, 或者使用JS追踪的方式,通过JS代码获取访客的IP归属地。

安装过程参考官方文档(http://piwik.org/docs/installation),比较简单,就不详细介绍了。

配置好apache之后,通过浏览器访问,一步步配置完毕之后,看到如下界面之后,就可以使用了:

在此输入图片描述

在此输入图片描述

在此输入图片描述

piwik使用

刚装好的Piwik是空空如也的,此时我们需要这个系统帮我们统计数据。

目前Piwik支持两种采集用户访问记录的方式: JS追踪访问日志追踪

JS追踪可定制型高,可以获取到用户的分辨率,浏览器插件等等,还可以捕获自定义变量。访问日志追踪(如apache的accesslog)可以追踪到用户的错误请求(如40X错误,有助于捕获到恶意用户和爬虫,蜘蛛等等),目前这两种追踪得到的数据还不支持合并

这两种追踪模式的详细优缺点可以参考官方的这篇文档: http://piwik.org/faq/log-analytics-tool/faq_16305/

JS追踪

管理设置-网站-右边即可看到"显示跟踪代码",如下图所示:

在此输入图片描述

将此代码复制到web项目的footer中即可(即所有页面都嵌入这段相同的js代码,用于捕获用户的信息,如分辨率,浏览器UA,IP等),还可以按照官方文档,捕获自定义变量。

参考官方文档的帮助,这里不再赘述: http://piwik.org/docs/javascript-tracking/

log追踪

log追踪无需修改web项目,但是必须要有登录服务器并读取accesslog的权限。

log追踪的详细用法参考官方文档: http://piwik.org/faq/log-analytics-tool/, https://piwik.org/log-analytics/

log追踪的过程是解析webserver的accesslog,然后通过piwik的API上传,最终在piwik页面上展示。

这个过程不用自己去实现了,piwik的压缩包中已经带有一个python脚本可以帮助我们完成这个工作了,该脚本存储于piwik目录下的misc/log-analytics/import_logs.py

将这个脚本远程拷贝到目标服务器上,按照脚本的参数格式执行即可,我的命令行:

?
1
./import_logs.py --url=http: //192.168.1.106/piwik/ --idsite=1 --recorders=2 --token-auth=319fb461d3225905039551e861edde60 --enable-static --enable-bots --enable-http-errors --enable-http-redirects /var/log/apache2/access.log

使用--help参数即可看到这个脚本的命令行,只有一个--url参数是必须的,指明piwik的访问路径。详细帮助参见官方文档(https://piwik.org/docs/log-analytics-tool-how-to/),这里对我使用的参数做一下简介:

--idsite表明抓取到的信息上传到哪个序号对应的网站(这里的参数为1,代表解析的数据会统计到first_web这个网站中)

--token-auth这个参数是管理员的访问token,在系统页面最顶上的API点开即可看到,如下图所示。这个参数可以使用--login=LOGIN --password=PASSWORD这两个参数替代,必须是管理员的账户和密码。

在此输入图片描述

--recorders使用多线程解析,默认为1,官方建议这个参数和核心数一致。

--enable-static --enable-bots --enable-http-errors这三个参数基本上把apache的accesslog能抓取到的全部信息都抓全了,抓取静态资源(jpg,png,js,css等非html的访问),抓取bots(不知道这个是什么,猜测是否是机器人?),抓取html错误码(如40X请求等等)

/var/log/apache2/access.logapache的accesslog存放路径,常见的webserver如nginx,lighthttpd等,脚本自带有解析引擎,无需别的参数,如果非常见webserver的话,加上--log-format-regex这个参数来自定义日志格式抓取。

当脚本执行完毕时,即可在piwik中看到网站的访问记录了,使用也很方便。长期使用可以写入crontab即可。

注意:

  • log解析的方式追踪比较慢,不适合实时追踪用户访问记录,建议每过几小时执行一次crontab,来定时解析log。
  • 如果开启了--enable-static --enable-bots --enable-http-errors这三个参数,解析过程将会很缓慢(我这边大概十几条每秒),不要让crontab太频繁,会直接让mysql数据库超出连接而挂掉,我是每4小时执行一次crontab。

其他一些问题

1,log追踪和js追踪的方式互有优势,都可以抓到一些对方所无法获取的信息,但是目前这两种方式追踪到的数据还不支持合并,因此,需要同时使用这两种方式追踪时,建议分开两个不同的网站追踪不同的数据,如first_web用于JS追踪,first_web(log)用于log追踪。参见官方FAQ: http://piwik.org/faq/log-analytics-tool/faq_16307/

2,当访问量较高时,请关闭Piwik触发处理,已提高页面响应,刷新报表数据由后台crontab执行,参考如下图所示,crontab的设置见右边的提示中的官方文档:

在此输入图片描述

3,自动邮件的时间有些问题,piwik内部时间使用的是UTC时间,也就是中国时区(CST,东八区)比UTC时区的时间快8个小时。如果使用默认的邮件发送时间0点发送,将会收到前天的访问记录报表(中国时间0点对应UTC时间昨天的16点,那么此时发昨天的报表就会收到前天的报告)。

这个问题已经给官方提过issue,不过官方还没有回应我: http://forum.piwik.org/read.php?2,111809

暂时的方案是把时间改到8点以后,就可以收到正常的邮件报表。

真正没有任何时间限制 真正的访客页面停留时间统计 系统支持所有不同类型及版本的浏览器 具有成熟的稳定性和可靠性 系统支持海量访问数据的统计分析 并拥有丰富的特色优势功能 真正实时的访问统计系统 全球唯一可以统计当前实时在线访客的系统 并且可以与任意访客发起沟通对话 唯一可以统计并发在线访客的系统 告诉您真实的网站负载 鼠标点击热点功能实时查看 支持任意时间段 多种查询条件的统计分析展现 准确告诉您页面热点情况 为您提供广告战略决策支持 准确把握每一个访客的访问行为轨迹 了解客户心理 更好的为其提供个性化服务 未知地区信息按需更新功能(不存在未知地区) 让您准确把握营销区域 提升销售机会 多指标 浏览量 访问量 停留时间 独立访客 二跳率 跳出率 综合评价功能 让您准确把握各网站 各栏目专题的排名评比效果 给你最准确的业绩考核参考 自动统计简报邮件 让您一上班就可以准确把握网站访问情况 做到运筹帷幄 心中有数 废话不多说 有用得上的赶紧下载吧 http: www adjyc com free html 软件程序免费下载安装 无任何使用时间限制 一次安装 永久使用 功能强不强 一试便知 支持的操作系统 Microsoft Windows Server 2003 x86 and x64 Editions Microsoft Windows Server 2008 x86 and x64 Editions Microsoft Windows Server 2008 R2 Editions Microsoft Windows Server 2012 Editions 支持的数据库 Microsoft SQL Server 2008 x86 and x64 Editions Microsoft SQL Server 2008 R2 x86 and x64 Editions Microsoft SQL Server 2012 x86 and x64 Editions 微软即将发布sqlserver2014也是支持的 ">真正没有任何时间限制 真正的访客页面停留时间统计 系统支持所有不同类型及版本的浏览器 具有成熟的稳定性和可靠性 系统支持海量访问数据的统计分析 并拥有丰富的特色优势功能 真正实时的访问统计系统 全球唯 [更多]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值