网站日志统计分析技术

Friday, August 1st, 2008

本博客所有原创文章采用知识共享署名-非商业性使用-相同方式共享,转载请保留链接http://chaoqun.17348.com/2008/08/web_log_analytics/ 前段时间,一直关注一个开源的统计系统http://www.piwik.org,有两个方面的原因,一是对统计非常有兴趣,二是这个项目构建在Zend Framework上,实在是学习ZF难得的一个样板,程序写的很优美,建议想学ZF的人可以阅读piwik源代码,好的,切入正题。 一般的网站统计系统我知道的有三种类型: 分析网站日子(Apache log),代表的有 AWStats:http://awstats.sourceforge.net/ analog:http://www.analog.cx/ Webalizer :http://www.mrunix.net/webalizer/ 使用Apache log好处是高速、低开销(apache随着访问写log开销不大),但是功能一般,比如不能记录客户端的的分辨率、色深、是否支持Java或者Flash等。 通过在网页中嵌入一个探针记录网站日志,piwik就是这样的典型,特点是快速、高开销(piwik是通过php直接往mysql中写记录)、功能强劲(可以记录客户端的详细信息)。 混合使用,代表是Google Analytics、缔元信,这些产品也是在网站中加入一个探针,然后发送一个类似http://www.google-analytics.com/__utm.gif?******的请求,其实是访问服务器上一个空白的图片文件,目的只有一个,记录http日志,这种方式的好处是集上面两种的好处:效率高、功能强。 探针的Javascript代码我们就不分析了,看一下Google Analytics最后发送的请求是什么样子的: http://www.google-analytics.com/__utm.gif ?utmwv=4.1 //常量 &utmn=1048672819 //随机数,还记得我是怎样处理mootools ajax问题吗? &utmhn=code.google.com //网站 &utmcs=UTF-8 //编码 &utmsr=1280x800 //分辨率 &utmsc=16-bit //色深 &utmul=zh-cn //语言 &utmje=1 //是否允许Java &utmfl=9.0%20%20r115 //9.0 r115,Flash播放器版本 &utmdt=Google%20Code //Google Code,标题 &utmhid=594665987 &utmr=- //来源地址 &utmp=/ //目录 &utmac=UA-18071-1 //帐号 &utmcc=__utma%3D247248150.137016230.1209822741.1209822741.1209822741.1%3B%2B__utmz%3D247248150.1209822741.1.1.utmcsr%3D(direct)%7Cutmccn%3D(direct)%7Cutmcmd%3D(none)%3B // 一些加密字串 有兴趣的可以去读一下ga.js源码,入门的话看一下yahoo的统计源码,写的比较清晰,也没有作混淆。