服务器技术

 首页 > 服务器技术 > apache > 使用mod_usertrack跟踪用户|用户-Apache教程

使用mod_usertrack跟踪用户|用户-Apache教程

分享到:
【字体:
导读:
          ...

使用StatViz跟踪“用户”点击中,唯一用户缺省是根据同一个IP定义的,就是假设来自同一个IP的为同一个用户,这样定义对于访问量较低的站点可能这样定义没有问题,但是对于访问量较大的站点,来自同一个IP后面有多个用户(比如代理服务器)就不一样了。而同一个用户在不同的时间可能使用不同的IP地址在线。对于这样的情况,要长期跟踪用户行为:使用一个长期有效的Cookie进行用户跟踪是一个比较简便途径。

apache本身带有一个mod_usertrack模块:其原理就是在用户首次来到当前网站的时候给用户种下一个唯一的cookie(较长时间过期),这个cookie是用户首次来当前网站的IP地址加上一个随机字符串组成的。
1.2.3.4 ... 1.2.3.4.1111 用户1
1.2.3.4 ... 1.2.3.4.2222 用户2
1.2.3.4 ... 1.2.3.4.3333 用户3
第2天,即使用户换了IP,
1.2.1.2 ... 1.2.3.4.1111 用户1

具体的配置方法如下:
1 启用mod_usertrack模块:
LoadModule usertrack_module libexec/mod_usertrack.so
AddModule mod_usertrack.c

2 针对一个域名启用CookieTracking
CookieTracking on
CookieDomain .chedong.com
CookieExpires "10 years"
CookieStyle Cookie

3 mod_usertrack的记录: 在日志最后增加%{cookie}n字段
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %{cookie}n" combined

启用mod_usertrack后的日志样例:
202.160.180.61 - - [30/Nov/2005:17:38:44 +0800] "GET /PHPMan.php/man/HTML::AsSubs/3pm HTTP/1.0" 200 4911 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)" 202.160.180.61.227021133343524377
218.249.22.70 - - [30/Nov/2005:17:38:45 +0800] "GET /referer.js HTTP/1.0" 200 26254 "http://bietile.bokee.com/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" 218.249.22.70.11531133343525235
202.160.180.61 - - [30/Nov/2005:17:38:48 +0800] "GET /phpMan.php/man/File::CheckTree/3pm HTTP/1.0" 200 4654 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)" 202.160.180.61.222451133343528428

然后在StatViz中设置改用最后一个Cookie字段作为唯一用户的跟踪,这样的独立用户会话统计就更准确了:
; Column 0 is the first column -- by default this is the "combined" apache log format, but of course you can customize
LogSessIDColumn=10
...

附:设置了CookieTracking后的页面http header的变化 wget -s http://www.chedong.com/
HTTP/1.1 200 OK
Date: Wed, 30 Nov 2005 09:40:16 GMT
Server: Apache/1.3.34 (Unix) mod_gzip/1.3.26.1a PHP/4.4.0
Set-Cookie2: Apache=211.152.33.116.161891133343616145; path=/; max-age=36000; domain=.chedong.com; version=1
Cache-Control: max-age=7200
Expires: Wed, 30 Nov 2005 10:40:16 GMT
X-Powered-By: PHP/4.4.0
Last-Modified: Wed, 30 Nov 2005 09:40:16 GMT
Connection: close
Content-Type: text/html

....

有了这个cookie,对于跟踪用户的粘度非常有用,可以知道用户什么时候首次来访,每个月之间用户的重叠度,结合一些其他特征:比如referer,还可以跟踪特定一批用户来到当前网站后的流失速度等……

参考文档:
以插件模式安装apache:Apache安装;
Apache的mod_usertrack配置指南;

2005-12-01 后记
hedong今天忽然跟我说:发现按照我的配置Cookie的值不稳定,我检查了一下:
tail -f chedong_access_log.20051201 |grep 218.249.9.2(这个是我的IP)
然后访问www.chedong.com并浏览,发现日志后面的cookie值果然是变化的……

重新试了一下CookieStyle Cookie
结果就好多了:
HTTP/1.1 200 OK
Date: Thu, 01 Dec 2005 07:58:35 GMT
Server: Apache/1.3.34 (Unix) mod_gzip/1.3.26.1a PHP/4.4.0
Set-Cookie: chedong=211.152.33.116.216801133423915949; path=/; max-age=315360000; domain=.chedong.com
Cache-Control: max-age=7200
Expires: Thu, 01 Dec 2005 08:58:35 GMT
X-Powered-By: PHP/4.4.0
Last-Modified: Thu, 01 Dec 2005 07:58:35 GMT
Connection: close
Content-Type: text/html

"使用mod_usertrack跟踪用户"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Server/Apache/17888.html

分享到:
安装cronolog格式化Apache的日志文件|mak...
使用cronolog可以格式化日志文件的格式,比如按时间分割,易于SEOver="kwE(event,0, this)" onmousemove="kwM(0)" onmouseout="kwL(event,this)" onclick="kwC(event,0)" style="border-bottom: #6600ff 1px dotted; background-color: transparent; color: #6600ff; text-decoration: underline">管理和分析。 cronolog的...
用SSL技术保护Apache服务器通信|服务器-A...
   由于apache在全球的应用范围相当广泛,因此其安全性就显得举足轻重,本文将对在linux环境中使用SSL技术保护Apache服务器通信的方法进行详细介绍。         Apache是世界排名第一的Web服务器,世界上60%以上的Web服务器是使用的Apache。Apache是一个免费的软件,用户可以免费从Apache的官方网站下载。任何人都...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……