无名商城论坛

搜索
查看: 350|回复: 0

[其他技术] 【限定72小时】使用AWStats分析IIS日志

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 18:05:57 | 显示全部楼层 |阅读模式
本教程转载网络,我只是个搬运工

事情起因:一台Web服务器已经服务了很长时间,以前没有进行过访问统计,现在需要统计该服务器前一年的用户访问量。
环境:Windows 2000 Server,IIS 5.0,默认配置情况下已经记录了近四年的访问日志,日志文件位于C:/WINNT/System32/LogFiles/W3SVC1目录下,文件名格式为ex%YY%MM%DD.log。
日志文件中记录了awstats进行访问统计所需要的大部分信息,但是主要缺少流量信息,尽管如何,也不影响对访问次数的统计。

1. 安装Perl环境。因为awstats需要Perl环境支持,所以需要安装Perl环境,这里选择ActiveState的Perl环境。安装比较简单,不再详述。完成后将Perl.exe可执行文件所在目录加入到Windows的PATH环境变量中。

2. 安装AWStats。下载awstats-6.9.zip文件到D:/Soft目录下,并解压缩到D:/Soft/awstats-6.9目录下。

3. 执行tools目录下的awstats_configure.pl程序,生成一个配置文件awstats.net25.lib.tsinghua.edu.cn.conf。默认这个文件将位于wwwroot/cgi-bin目录下。

4. 修改程序生成的配置文件。
首先指定日志文件的位置:

LogFile="C:/WINNT/System32/LogFiles/W3SVC1/ex%YY%MM%DD-n.log

其中%YY%MM%DD-n指定n小时之前的年月日。
因为需要以前的日志进行统计,所以需要指定该目录下的所有文件,这时候可以使用tools目录下的日志合并工具,如下:
LogFile="D:/Soft/awstats-6.9/tools/logresolvemerge.pl C:/WINNT/System32/LogFiles/W3SVC1/*.log |"

上述行将调用合并工具,合并W3SVC1目录下的所有日志文件,并重定向给awstats.pl程序。


然后修改日志文件格式。因为IIS默认记录的日志并不符合awstats程序中的格式2,所以需要自定义日志格式,如下:

LogFormat="%time2 %host %bytesd %other %other %method %url %other %code %ua"

其中%bytesd最开始使用的是%other,但是后来进行统计时报错,因此让它对应到了一个空白字段,可能也不是必需的,但懒得重新核对了,因为对结果没有影响。


SiteDomain行不用说,运行config程序时会修改为指定域名。然后需要指定一个数据目录,统计程序所生成的数据将保存在这个目录,生成页面的程序也将会从这个目录来读取数据:

DirData="E:/Logs/net25/usage"

其他的参数采用默认值即可,也可以根据自己的情况适当修改。


5. 生成统计数据

D:\Soft\awstats-6.9\wwwroot\cgi-bin>awstats.pl -config=net25.lib.tsinghua.edu.cn -update

6. 生成网页
有了统计数据之后,就可以生成想要统计页面了,例如想要生成2008年的统计网页:

D:\Soft\awstats-6.9\wwwroot\cgi-bin>perl awstats_buildstaticpages.pl -config=net25.lib.tsinghua.edu.cn -dir=E:/Logs/net25/pages/2008 -month=all -year=2008

然后适当配置IIS,就可以通过浏览器来查看统计信息了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表