« windows/linux双系统 把 UTC 改成 false 解决时间相差8小时问题 |
Main
| 水木社区 blog 系统升级 »
March 2, 2008
awstats 多域名正则匹配解决方案
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
https://windtear.net/2008/03/awstats_multi_domain.html
awstats 多域名正则匹配解决方案
同一服务器跑多个域名 用 awstats 做访问分析有两个办法
1. 分别记 log 分别分析
2. 一块记 log 匹配分析
1. 分别记 log 简单快捷高效
1.1 apache 在 VirtualHost 虚机配置里面设置 CustomLog
LogFormat 可以自己定义 如
把 %r 换成 %m http://%{Host}i%U %H
1.2 squid 2.6 可以结合 acl 单独记log
acl proxyipcn dstdomain proxy.ipcn.org
access_log /data/squid/var/logs/proxyipcn.log common proxyipcn !nolog
emulate_httpd_log on
log_combined on # 这是2.5时做的一个patch 目的是记referer和ua
squid 2.6 可以自定义 logformat
2. 一块记 log 匹配分析 只为讨论技术
由于 logformat 几乎就是 awstats 的 LogFormat=1
唯一要做的就是匹配出 vh
如果再改前面的 logformat 匹配出 %virtualname 显然不方便
最轻巧的改法就是由LogFormat 1 hack出来一个 LogFormat 5
把 $PerlParsingFormat 中的 ([^ ]+)(?: [^\\\"]+|)\\\"
改成 (http:\\\/\\\/([^ ]+)\\\/[^ ]+)(?: [^\\\"]+|)\\\"
多出来一个 $pos_vh=5 赋给 vhost
不好的地方是n个域名要跑n遍 效率不好
不过在不考虑效率时 改动最最小
|
|
Posted by windtear at March 2, 2008 11:46 PM