你完全不必耐心看完所有内容:简要安装说明如下
安装
http://sourceforge.net/projects/awstats/ 下载安装包后:
GNU/Linux:tar zxf awstats-version.tgz
awstats的脚本和静态文件缺省都在wwwroot目录下:将cgi-bin目录下的文件都部署到 cgi-bin/目录下:/home/apache/cgi-bin/awstats/
mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats
把图标等文件目录复制到WEB的HTML文件发布目录下,例如:/home/apache/htdocs/ 下发布
更多的批量更新脚本等在tools 目录下,可以一并放到cgi-bin/awstats/ 目录下
升级国内主要搜索引擎和蜘蛛定义,安装GeoIP的应用库:C
http://www.maxmind.com/download/geoip/api/c/ 解包,编译安装
perl -MCPAN -e 'install "Geo::IP"' 或者使用纯Perl包 perl -MCPAN -e 'install "Geo::IP::PurePerl"'
下载GeoIP/GeoIPCityLite包:解包并部署到awstats目录下:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
配置
将缺省awstats.model.conf 命名成common.conf
修改其中的一些配置选项:
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoLiteCity.dat"
创建awstats下创建:data 目录用于统计数据输出,缺省的统计输出是按月汇总的;对于日志非常大的最好选择按天统计输出,并修改awstats.pl: 设置LIMITFLUSH加10倍;
$LIMITFLUSH =
50000; # Nb of records in data arrays after how we need to flush data on disk
可以有效提高统计的速度(减少磁盘IO),并避免按月汇总数据导致的统计文件过大;
按照一下样例设置配置文件:
Include "common.conf"
LogFile="/home/apache/logs/access_log.%YYYY-24%MM-24%DD-24"
SiteDomain="www.chedong.com"
HostAliases="chedong.com"
DefaultFile="index.html"
DirData="/home/apache/cgi-bin/awstats/data/"
内容摘要:AWStats的使用简介和配置一些改进说明。很高兴看到在AWStats 6.3版本开始:中文用户基本上已经只需要将配置文件中将 LoadPlugin="decodeutfkeys" 启用基本上就没有什么中文搜索引擎的统计问题了,目前增加了多个国内主要搜索引擎厂商。包含了针对国内主要搜索引擎和蜘蛛定义的补丁(解包后覆盖lib\目录下的原程序目录即可),其中也包含了本站的样例配置文件
日志统计系统在站点的用户行为分析中扮演了重要的角色,尤其是对于来自搜索引擎的关键词 访问统计:是很有效的用户行为分析数据来源。随着互联网多年的发展,WEB日志统计工具已经越来越成熟,功能也越来越丰富。其中有很多是开放源代码的, AWStats就是其中非常优秀的一款。
AWStats: Advanced Web Statistics
AWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。相对于另外一个非常优秀的开放源代码的日志分析工具Webalizer,AWStats的优势在于:
- 界面友好:可以根据浏览器直接调用相应语言界面(有简体中文版)
参考输出样例:http://www.chedong.com/cgi-bin/awstats/awstats.pl?config=chedong - 基于Perl:并且很好的解决了跨平台问题,系统本身可以运行在GNU/Linux上或Windows上(安装了ActivePerl后);分析的日志直接支持Apache格式 (combined)和IIS格式(需要修改)。Webalizer虽然也有Windows平台版,但目前已经缺乏 维护;
AWStats完全可以实现用一套系统完成对自身站点不同WEB服务器:GNU/Linux/Apache和Windows/IIS服务器的统一统计。 - 效率比较高:AWStats输出统计项目比Webalizer丰富了很多,速度仍可以达到Webalizer的1/3左右,对于一个日访问量 百万级的站点,这个速度都是足够的;
- 配置/定制方便:系统提供了足够灵活但缺省也很合理的配置规则,需要修改的缺省配置不超过3,4项就可以开始运行,而且修改和扩展的插件还是 比较多的;
- AWStats的设计者是面向精确的"Human visits"设计的,因此很多搜索引擎的机器人访问都被过滤掉了,因此有可能比其他日志统计工具统计的数字要低,来自公司内部的访问也可以通过IP过滤 设置过滤掉。
- 提供了很多扩展的参数统计功能:使用ExtraXXXX系列配置生成针对具体应用的参数分析会对产品分析非常有用。
更多与其他工具:Webalizer, analog的比较请参考:
http://awstats.sourceforge.net/#COMPARISON
AWStats安装备忘
AWStats的运行模式是这样的:
- 分析日志:运行后将这样的日志统计结果归档到一个AWStats的数据库(纯文本)里;
- 然后是输出:分两种形式
- 一种是通过cgi程序读取统计结果数据库输出;
- 一种是运行后台脚本将输出导出成静态文件;
以下是2个针对单个站点日志统计例子:
一个是在GNU/Linux上通过CGI方式的输出,
一个是在Windows 2000上的基于静态页面的导出
下载/安装
http://sourceforge.net/projects/awstats/ 下载安装包后:GNU/Linux:tar zxf awstats-version.tgz
awstats的脚本和静态文件缺省都在wwwroot目录下: 将cgi-bin目录下的文件都部署awstats.pl程序到/home/apache/cgi-bin/awstats/ 下
mv awstats-version/wwwroot/cgi-bin /path/to/apache/cgi-bin/awstats
#把图标等文件目录复制到WEB的HTML文件发布目录下:/home/apache/htdocs/ 下发布
更多的批量更新脚本等在tools 目录下,可以一并放到cgi-bin/awstats/ 目录下,
Windows 2000:按照后台脚本模式运行,直接解包,然后移动到D:\AWStats目录下
把图标icon目录复制到IIS的发布目录下:inetpub/icon
数据源日志格式和按天的截断规则
- 对于Apache:日志格式好设置:设置成combined格式即可,日志截断麻烦一点:需要安装cronolog工具,将日志设置成按天截断:
CustomLog "|/usr/local/sbin/cronolog /path/to/apache/logs/access_log.%Y%m%d" combined
比如:logs/access_log.20030326
日志是压缩格式,可以使用gzip -d < /home/apache/logs/access_log.%YYYY-24%MM-24%DD-24.gz | 动态解压缩统计。 - 对于IIS:缺省有比较好的日志按天截断规则,但是IIS的日志格式比较不适合AWStats统计,
因此最好直接去掉所有日志字段,然后严格按照以下列表设置
- 日期 date
- 时间 time
- 客户IP地址 c-ip
- 用户名 cs-username
- 方法 cs-method
- URI资源 cs-uri-stem
- 协议状态 sc-status
- 发送字节数 sc-bytes
- 协议版本 cs-version
- 用户代理 cs(User-Agent)
- 参照 cs(Referer)
减少的有:
- 服务器IP地址
- 服务器端口
- URI查询
- 发送字节数
- 协议版本
- 参照
配置文件的命名规则:awstats.sitename.conf
AWStats的主程序awstats.pl会自动根据站点名调用相应站点的配置文件:awstats.sitename.conf
比如:运行./awstats.pl -config=chedong 调用的就是同目录下的 awstats.chedong.conf 配置文件;
如果没有指定-config,还会找当前目录下的awstats.conf或者/etc/awstats.conf作为缺省配置文件。
所以最好把缺省的awstats.model.conf 重命名成 awstats.yoursite.conf;比如:awstats.chedong.conf,
对于多个站点的统计,AWStats的配置文件包含功能还是非常有用的,我们可以把通用的配置放在一个文档中,然后用(5.4版本以后开始支持) Include配置将通用配置包含在各个具体配置文件的头部,然后用其他配置覆盖通用配置中的相应属性,比如:
Include="common.conf"
LogFile="/path/to/bbs/access_log"
SiteName="bbs.chedong.com"
最少的配置文件修改:LogFile SiteDomain LogFormat
对于在GNU/Linux上统计Apache日志只需修改:LogFile SiteDomain这2个选项
- GNU/Linux LogFile="/path/to/apache/logs/access_log.%YYYY-24%MM-24%DD-24"
Windows 2000 LogFile="d:\iis_logs\W3SV3\ex%YY-24%MM-24%DD-24.log"
这个配置的意思是用24小时前的年份,月份,日期拼出的日志文件名; - SiteDomain="www.chedong.com"
站点的名称,缺省是空的,如果为空,AWStats将拒绝运行; - 对于统计IIS日志需要多修改一个:
LogFormat=2
缺省值是1:Apache日志,2是IIS日志
其他需要注意的事项:
AWStats缺省不过滤swf文件,会把.swf算成PageView,所以如果站点上swf文件主要是广告的话最好还是要过滤掉:
日志分析
./awstats.pl -update -config=sitename -lang=cn
比如:./awstats.pl -update -config=chedong
会自动调用awstats.chedong.conf这个配置文件
统计输出
GNU/Linux http://localhost/cgi-bin/awstats/awstats.pl?config=chedong
Windows 2000 http://localhost/awstats/awstats.chedong.html
日志统计自动运行
GNU/Linux上:crontab -e: 每天8点10分运行
#update awstats
10 8 * * * (cd /path/to/apache/cgi-bin/awstats/; ./awstats.pl -update -config=chedong)
Windows 2000上:设置每天8点10分运行
D:\Perl\bin\perl.exe d:\AWStats\tools\awstats_buildstaticpages.pl -update -config=chedong -lang=cn -dir=c:\inetpub\awstats\ -awstatsprog=d:\awstats\wwwroot\cgi-bin\awstats.pl
多站点日志统计
AWStats自带了一个批处理工具:tools/awstats_updateall.pl,可以批量地遍历一个目录下所有地配置文件并运行统 计。因此剩下的工作就主要是日志的同步问题了。
针对多个站点,很多配置选项是重复的,如果每个配置文件都修改维护起来会很麻烦,AWStats从5.4版本开始提供了配置文件包含的功能,所以我们可 以配置一个通用配置,比如:common.conf
然后其他站点的配置设置为:可以通过后面的选项覆盖和缺省不一致的配置。
awstats.bbs.chedong.conf
Include "chedong.common.conf"
LogFile "/path/to/bbs_log"
SiteName "bbs.chedong.com"
awstats.www.chedong.conf
Include "chedong.common.conf"
LogFile "/path/to/www_log"
SiteName "www.chedong.com"
HostAliases="chedong.com"
统计指标说明
- 参观者:按来访者不重复的IP统计,一个IP代表一个参观者;
- 参观次数:一个参观者可能1天之内参观多次(比如:上午一次,下午一次),所以按一定时间内(比如:1个小时),不重复的IP数统计,参观者 的访问次数;
- 网页数:不包括图片,CSS, JavaScript文件等的纯页面访问总数,但如果一个页面使用了多个帧,每个帧都算一个页面请求;
- 文件数:来自浏览器客户端的文件请求总数,包括图片,CSS,JavaScript等,用户请求一个页面是,如果页面中包含图片等,所以对服 务器会发出多次文件请求,文件数一般远远大于文件数;
- 字节:传给客户端的数据总流量;
- 来自REFERER中的数据:日志中的参考(REFERER)字段,记录了访问相应网页之前地址,因此如果用户是通过搜索引擎的搜索结果点击 进入网站的,日志中就会有用户在相应搜索引擎的查询地址,这个地址中就可以通过解析将用户查询使用的关键词提取出来:
比如:
2003-03-26 15:43:58 123.123.123.123 - GET /index.html 200 192 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www.google.com/search?q=chedong
AWStats在搜索引擎的关键短语和关键词统计方面的功能还是比较完整的:可以对全世界3百多种机器爬虫进行识别,并且可以识别大部分主流国际化搜索引擎和很多地区的本地语言搜索引擎。
Hacking AWStats
基于地理信息的插件安装:GeoIP 和 Geo::IPfree(awstats 5.5+)
GeoIP和Geo::IPfree都免费的是国家/IP的影射表,比通过DNS反相解析域名得到的统计准确,而且速度快。GeoIP的API都是免费 的,缺省库是免 费的,收费的是它的数据更新服务。Geo::IPfree不仅代码是公开的,而且库数据也是公开的。
GeoIP安装:
先下载C库:GeoIP C解包后
%./configure; make
#make install
然后下载Perl库:GeoIP Perl解包后
%perl MakeFile.PL; make
#make install
Geo::IPfree安装:
下载Geo::IPfree解 包后
%perl Makefile
%make
#make install
配置:通过在配置文件中启用GEOIP相关插件:
LoadPlugin="geoip GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /home/apache/chedong.com/cgi-bin/awstats/GeoLiteCity.dat"
MaxMind目前免费提供了GeoIP和GeoIPCityLite数据包:可以定期每个月从以下地址下载:
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
从最近的统计来看一般为每月3日更新,此外:http://geolite.maxmind.com/download/geoip/database/下也有CSV源文件提供;此外:利用QQ的纯真库也能获得更详细的地理信息分布统计;
- AWStats开源项目: http://awstats.sourceforge.net/
- Webalizer开源项目:http://www.webalizer.org/
- 日 志分析工具:directory.google.com/Top/Computers/Software/Internet/Site_Management/Log_Analysis/
- 商 业日志统计/分析工具: directory.google.com/Top/Computers/Software/Internet/Site_Management/Log_Analysis/Commercial/
- 多站点的日志合并:www.chedong.com/tech/rotate_merge_log.html
- 日志统计对于分析搜索引擎对站点的影响具 有非常重要的意义:www.chedong.com/tech/google.html
- AWStats插件说明:awstats.sourceforge.net/awstats_contrib.html
Comments
awstats还是比较强大,但对于新手来说,的确太复杂了!
我推荐一个3分钟就可以上手的日志分析软件——Webiase!
主页(论坛):http://www.webiase.com
下载地址:http://www.webiase.com/download/Webiase-1.0beta-setup.exe
由: webiase 发表于 2007年06月27日 下午02时52分
车东知道GEOIPCITY.dat怎么转换成汉化版么 有没有工具可以把他们的CSV的数据转换成dat数据 这样在CSV里汉化一下就好了
由: jks 发表于 2007年11月23日 夜间12时16分
我是用ftp+plesk部署AWstats的,我把文件用ftp传到网站主目录下,但不知道要如何编辑awstats.model.conf 这个文件,请问我该如何编辑配置这个文件呢??
由: young_for_you 发表于 2007年12月06日 下午03时10分
呵呵,在ya ho o 的时候经常搜索文档都是你车东的,虽然知道有一个叫车东的人,因为你推荐了好多人给ya ho o 后来离开ya ho o ,这个网站竟然真得是我在ya ho o 的同事你办的,哈,真好,我超喜欢你的文档,呵呵,给我最多帮助了.
由: hancang2000 发表于 2007年12月18日 下午01时27分
安装了awstats 但我并不想别人看到,你的示例要输入密码,我如何设置只有密码才可以查看呢,有一段内容包含有日志所在的路径,我不想显示这个路径如何操作,对perl不是很懂,请指点下.
由: searchsulin 发表于 2007年12月19日 下午03时57分
可以在apache下设置某个url访问需要密码才能访问。--回楼上的
由: patrick 发表于 2008年01月28日 傍晚08时15分
我是一个awstats的使用者,想请教一下,awstats作为一个开放源代码,它所能承受的访问流量是多少?一般建议在达到多少流量的时候就可以考虑更换统计系统了呢?
由: 小幽 发表于 2008年07月23日 上午09时50分
你好,我试了一下是成功的。现在手里有一个web需要做一下性能分析,请问用这个工具会不会对性能产生影响呢?
由: yyyy 发表于 2008年10月20日 下午12时18分
我的apache是1.3.39版的,一个网站log按天统计,每天一个log大概是300M,用awstats分析一天的日志,awstats的数据文件竟然有60M之多,这个究竟是因为计算什么才导致数据文件这么大的啊
由: kuka 发表于 2008年10月31日 下午02时01分
install complete!
由: jj wang 发表于 2009年03月13日 傍晚07时02分
已经成功配置awstats并能显示,现在我想请教大家下:如果想用自己的脚本把awstats的分析结果入到自己的数据库该怎么处理,请给个思路!
由: suntch 发表于 2009年04月17日 下午04时34分
像我这样的新手,还是很多呀.但专业级的东西,面对的是专业的使用者
由: FovWeb 发表于 2009年04月23日 下午01时36分
请问如何在"URL 网址"查询中加入"参观者"的数据, 即是想统计某一网页的"参观者"数量
由: xlhans 发表于 2009年07月09日 下午06时55分
车大这两个下载地址太经典了,我找了好久,多谢!
由: Joseph 发表于 2010年02月02日 夜间12时10分
请问,为何我的awstats无法查找到操作系统版本与浏览器版本??
感谢.
由: roc 发表于 2010年03月17日 上午11时03分
awstats可以向Oracle导入用户数据库,和网页数据库吗?
由: unicornhx 发表于 2010年05月10日 下午12时45分
太好了,正在找这样的工具呢!
由: 小欧 发表于 2010年07月15日 上午11时04分
有点复杂,研究一下
由: jun 发表于 2010年11月08日 下午05时13分
大哥能不能从服务器配置,操作系统开始讲讲,小弟笨的很啊!
由: lvzeyuan 发表于 2010年12月18日 下午03时05分
最后还是给部署出来了,但是没装GeoIP,不怎么会装啊,
由: kellen 发表于 2013年03月14日 傍晚07时23分