当前位置: 首页 > 图文教程 > 服务器 > Windows服务器 > Apache/IIS的日志分析工具:AWStats

Windows服务器
实例讲解Windows 2003分区增容功能
WIN2003服务器端安全配置的一点简单经验
Windows 2003中快速建立ADSL拨号
远程如何修改Windows 2003系统机器名
微软揭示Windows 2003 R2关键性技术
Windows Server 2003组策略排障六法
感受Windows 2003 SP1安全配置向导功能
微软测试Windows Server 2003集群版
Win 2003系统传真功能的配置及使用
巧用Win 2003构筑校园网服务器防火墙
抢先看!WinServer 2003 R2 RTM发布
九招Windows 2003系统设置小技巧
巧施妙计—突破Win 2003系统的种种限制
巧妙启用Windows 2003的远程桌面功能
部署Windows Server 2003终端服务
在Win2003配置DNS的Internet访问
Windows 2003下提高FSO的安全性
Windows Server 2003 SP1 今日发布
微软将在HEC上发布Windows 2003 64-bit
快下载!值得装Windows 2003 SP1三大原因

Windows服务器 中的 Apache/IIS的日志分析工具:AWStats


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 579 ::
收藏到网摘: n/a

  日志统计系统在站点的用户行为分析中扮演了重要的角色,尤其是对于来自搜索引擎的关键词访问统计:是很有效的用户行为分析数据来源。随着互联网多年的发展,WEB日志统计工具已经越来越成熟,功能也越来越丰富。其中有很多是开放源代码的, AWStats就是其中非常优秀的一款。

  简要安装说明如下:

  安装

  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目录下

  http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

  http://www.maxmind.com/download/geoip/database/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 目录用于统计数据输出

  按照一下样例设置配置文件:

  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" 启用基本上就没有什么中文搜索引擎的统计问题了,目前增加了# Minor chinese search engines 'baidu\.com','search\.sina\.com','search\.sohu\.com',这3个搜索引擎。包含了针对国内主要搜索引擎和蜘蛛定义的补丁(解包后覆盖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)

  相比IIS缺省设置:

  减少的有:

  服务器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数据包:可以定期每个月从以下地址下载

  http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

  http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz