1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

站点日志统计分析的好工具——AWStats。

本帖由 laogui2006-01-20 发布。版面名称:源码讨论

  1. laogui

    laogui Administrator
    管理成员

    注册:
    2005-08-30
    帖子:
    15,216
    赞:
    35
    早些时候在sorceforge上就发现了这个工具,因为太久没用,后来就一直记不起它的名字,直到在车东的学习笔记上看到这样一篇《AWStats: Apache/IIS的日志分析工具》,于是迫不及待地在IIS上安装了一个。
    AWStats是Advanced Web Statistics的缩写,它是基于Perl的一款Web日志分析工具。它通过读取Web日志,对网站的运行状态进行分析和监测,对网站管理员来说非常有帮助。我们可以在它的官方网站上下载到源码(http://awstats.sourceforge.net/)。

    下面简单介绍一下在WIN32+IIS6.0平台下它的安装步骤:
    1. Perl环境搭建
     由于AWStats是基于Perl的,所以在安装前必须让IIS支持Perl脚本的解析。这里简要介绍一下配置过程:在http://www.activestate.com/上下载到Perl安装包,如果选择.exe格式的则在安装过程中选择在IIS中支持即可完成配置,如果选择.zip格式的安装包,则需对其解压,并在需要支持Perl脚本的虚拟目录中添加一条应用程序映射:应用程序为C:\Perl\bin\perl.exe "%s" %s(根据实际路径可能有所不同),扩展名为.pl,动作限制为GET,HEAD,POST,这样在这个虚拟目录下的.pl文件就会被当作Perl脚本解析了。
    2. 下载源码
     从官方网站http://awstats.sourceforge.net/上可以下载到程序的最新版本,我下载到的是当前最新版本AWStats 6.4。网站上提供了多种格式的安装文件下载(.exe,.zip,.tar.gz等),.exe格式更适合于快速安装配置,而这里为了让安装配置过程更DIY一些,我选择.zip版本。
     下载后解压源码,它包含三个文件夹docs,tools和wwwroot。docs目录下包含了英文的安装配置说明和帮助;tools目录下包含了可使用的Perl脚本;wwwroot目录下则包含安装所需要的源码。
    3. 建立工作目录
     在硬盘上建立一个目录C:\wwwroot\awstats\,并将解压后源代码中wwwroot/cgi-bin/目录下的文件全部复制到C:\wwwroot\awstats\下,并将图标文件夹wwwroot/icon/复制到任何一个可访问的目录下。在IIS中建立一个虚拟目录指向C:\wwwroot\awstats\,并按步骤1的方法配置应用程序映射,使其支持.pl。
    4. 扩展IIS日志
     IIS的默认日志选项中并没有包含足够的属性以供AWStats进行分析,因此我们要对IIS日志进行扩展。在站点属性中配置扩展属性,使日志中包含以下属性:
    date
    time
    c-ip
    cs-username
    cs-method
    cs-uri-stem
    cs-uri-query
    sc-status
    sc-bytes
    cs-version
    cs(User-Agent)
    cs(Referer)
     由于IIS日志使用的是格林威治标准时间,和我们的本地时间有很大偏差,为了让IIS日志文件名本地化,请在常规属性页中勾选“文件命名和回卷使用本地时间”。另外,我们还可以自定义日志文件保存路径,可以保证在重装系统后不丢失历史日志,这里我将它设置为D:\IISLOG\。
    5. AWStats配置
     将配置文件C:\wwwroot\awstats\awstats.model.conf 更名为awstats.www.lrcpub.com.conf。这里的www.lrcpub.com表示虚拟主机名称。
     下面列出了常要配置的参数,你可以根据自己的情况配置其它参数:
    + 将LogFile值改为IIS日志存放的路径D:/IISLOG/W3SVC1/ex%YY-0%MM-0%DD-0.log(也可以是相对路径),%YY-0,%MM-0,%DD-0中的0表示时间偏移量为0小时,关于时间格式符的更多帮助,请查看该配置文件注释中的说明。
    + 将LogFormat改为IIS日志的输出格式,字段可以从IIS日志中复制得到,这里是:
     LogFormat=2
     LogFormat="date time c-ip cs-username cs-method cs-uri-stem cs-uri-query sc-status sc-bytes cs-version cs(User-Agent) cs(Referer)"
    + 将SiteDomain改为站点的主域名,这里是:
     SiteDomain="www.lrcpub.com"
    + 如果站点还有其它访问方式,比如使用IP访问,则可在HostAliases添加,这里是:
     HostAliases="lrcpub.com 218.193.12.34"
    + 将DirIcons改为图标文件夹的相对路径,我把该文件夹话在网站的根目录下,因此这里保持/icon不变。
    + 如果想在浏览器上更新日志分析,则请将AllowToUpdateStatsFromBrowser设置为1。
    + 由于IIS的时差,为了使分析结果显示正确时间,我们必须设置时差,找到LoadPlugin="timezone +2"这行,去前面的注释符#,并将时差改为+8即可,即
     LoadPlugin="timezone +8"
    到这里就结束了 :)
    References:
    AWStats
    http://awstats.sourceforge.net/
    车东:《AWStats: Apache/IIS的日志分析工具》
    http://www.chedong.com/tech/awstats.html
     
  2. thinkcq

    thinkcq New Member

    注册:
    2005-10-30
    帖子:
    65
    赞:
    0
    这个需要自己有服务器才行,一般的还是推荐用phpmyvisites
     
  3. 老林

    老林 New Member

    注册:
    2005-09-06
    帖子:
    10,580
    赞:
    36
    很需要这个 谢谢鬼鬼
     
  4. ahwcz

    ahwcz New Member

    注册:
    2005-11-28
    帖子:
    108
    赞:
    1
    好东西