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

news/2024/5/19 0:27:57/文章来源:https://blog.csdn.net/weixin_33701251/article/details/85897810

piwik简介

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

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

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

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

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

piwik安装

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

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的基本使用

piwik使用

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

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

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

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

JS追踪

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

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

将此代码复制到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

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

    ./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这两个参数替代,必须是管理员的账户和密码。

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

--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的设置见右边的提示中的官方文档:

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_770022.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chrome浏览器查看、找回保存的网站账户密码

1. 问题: 使用Google的Chrome浏览器,登录谷歌账号后,可以保存自己在各个网站的账号和密码,就不需要每次登录时都重新输入。 然而有时候我们清理垃圾时会把密码清除掉,这时如何找回呢? 2.方法 其实即使电…

如何做到 Laravel 配置可以网站后台配置【社群系统ThinkSNS+研发日记四】

本文分享下利用 Laravel 的 Bootstrapping 达到网站后台设置 laravel 配置。 需求场景 首先,ThinkSNS 作为一个用户可以使用的「社交系统」和开源网站程序一样拥有后台,有一些配置,Laravel 是要求写在 /config/*.php 的配置文件中的&#xff…

php mysql数据库驱动_用PHP和MySQL构建一个数据库驱动的网站(五)

mysql|数据|数据库虽然看上去一切都好了,但是我们仍没有达到我们真正地与用户交互的目的,我们的用户应该能够输入任意的信息,并将它交给PHP来处理。接着我们的个性化欢迎页面的例子,我们想要让我们的用户任意地输入他(或她)的名字…

关于阿里云Centos服务器搭建Java网站不能访问的问题

首先阿里云提供的手册是没问题的 手工搭建 然后我在地址栏输入服务器地址之后总是提示无法访问! 输入命令 netstat -tunlp,80端口确实是在监听(这里不是8080,因为我在tomcat的配置文件里吧8080变成了80) 然后查查查&am…

php 四表联查统计,phpb2b研究(四)地区区域表,网站公告

---- 表的结构 pb_areas ---地区表--CREATE TABLE IF NOT EXISTS pb_areas (id smallint(6) NOT NULL auto_increment,attachment_id int(10) NOT NULL default 0,areatype_id smallint(3) NOT NULL default 0,child_ids text,top_parentid smallint(6) NOT NULL default 0,lev…

网站安装打包 软件环境检测与安装[二] 下

这一节主要说安装! 1。操作系统 这个应该不用了,没系统也没法运行了! 2。IIS安装 这个是重点,最后面介绍! 3。framework安装 这个也不用了,工具安装时会先检测,如果没安装这工具也打不开了&…

2015年网站设计将有这十大趋势

每年,网站设计都在快速进步,每天几乎都有新的设计出现。我可以想象得到,2015年将出现最好的网站,包括2014年已经预测到的许多趋势。随着这些趋势在2015年左右实现,现在该是时候让我们预测2015年可能出现的新趋势了。每…

AWWWB 网站克隆器 更新到1.02 修正错误

修正了写入网页时,未能按照原始文件的编码写入,导致显示乱码的问题: 最新版下载:http://www.uushare.com/user/icesee/file/2254609 本文转自斯克迪亚博客园博客,原文链接:http://www.cnblogs.com/SkyD/arc…

入门django———搭建第一个django的网站

背景 最近一直在学Java,每天和各种对象打交道。当够了’渣男’突然想起来好久没有写python了,毕竟python才是我的最爱。另外最近也在搭建ubuntu的caffetensorflowdigits环境,老师也让我们自己学学flask和django。说实话digits真的不好搭&…

Cisco网站学习资源更新

这阵子收到很多Cisco的mail,最近整理了下,发觉Cisco也开始像Microsoft学习了,在提高自己提供的免费学习资料的含金量,更新增了视频培训课程,叫思科技术达人秀类似Microsoft的Technet视频广播。以下内容,均通…

团队-爬虫电影网站-最终程序

托管平台地址:https://gitee.com/w789369/PaChong/tree/master 小组名称:简单 小组成员合照:无 程序运行方法:python 程序运行示例及运行结果:转载于:https://www.cnblogs.com/lws1111/p/7944180.html

企业网站SEO的日常工作小记

各位看官,春节好,拜个晚年,祝各位SEOER晚年幸福,开个小玩笑,书归正传,春节假期回来,各位SEOER想必非常抓耳挠腮,排名较之之前有的小幅下滑,有的干脆挤出几页开外了。那么…

新站上线后应该做哪些有利于seo的工作

seo优化人员一定要重视基础工作,夯实基础会给后期网站优化工作带来很大便利,本篇文章主要是从实操视角审视一下企业网站上线后seoer应该做哪些工作,帮助网站更快获得排名和收录。1.填写网站标题和描述根据企业主提供的需要做的核心关键词来填…

使用LNMP架构部署动态网站环境。

(1)安装主机具备编译程序源码的环境,他需要具备C语言、C语言、Perl语言的编译器,以及各种常见的编译支持函数库程序。把安装LNMP动态网站部署架构所需的16个软件源码包和1个用于检查效果的论坛网站系统软件包上传到与本书配套的站…

SEO关键词优化:如何理解被百度快速索引?

经常会有SEO人员讨论,为什么我的SEO关键词总是不被快速索引,而实际上这里主要指的是,针对特定关键词的核心内容,那么,它主要涉及如下两个指标:索引快速收录这里值得说明的是:索引并不等于收录&a…

有病毒的u盘文件上传到服务器,还在被u盘病毒困扰?送你15个文件传输网站以及20+u盘工具...

哈喽大家好,我是无知便是罪,专注于收集和分享互联网上不为人知的好东西。今天让我们继续聊一聊文件传输,这要分为两类吧,一种是个人多设备之间的跨平台传输,就像手机与电脑之间,我们前面已经介绍过了。今天…

BAT架构师分享之:大型网站技术架构

2019独角兽企业重金招聘Python工程师标准>>> 早期的网站为了节省成本一般会设计成集中式系统,应用程序、数据库等都部署在一台服务器上。 但随着业务的快速度发展,逐渐出现瓶颈,按一定原则**(应用拆分、服务拆分、数据…

仿某某网站模板thinkphp_建网站一般多少钱?300足够了

网站,就相当于公司在互联网的上一个门面,所以其实不管什么行业,公司规模大小,个人建议还是都应该建一个属于自己公司的官网。再说,现在建一个网站真是非常的便宜,不像之前动辄上万,少则大几千&a…

php旅游管理系统,基于Laravel框架开发的旅游网站管理系统PHP源码

源码介绍旅游网站管理系统是一款基于Laravel框架开发的在线旅游网站系统,一个类似企业网站的张家界旅游网站,主要目标是为了实现对张家界的各个景点,文化艺术,当地生活的描述。同时实现可以登陆注册网站上订购门票和酒店&#xff…

anguler 画面布局适应屏幕大小_自适应与响应式网站设计特点是什么?有哪些优缺点?...

自从2007年第一代iPhone问世以来,移动设备在日常使用中变得更加方便。目前约有25亿人使用智能手机来完成日常活动,其中包括浏览网站。由于越来越多的用户更喜欢使用移动设备而不是更大的电脑,因此网页设计师们将大部分精力都放在了完善这类设…