日志文件分析工具-AWStats在IIS 6.0中的配置步骤

步骤部分大部分是前辈的文章,外加部分原创。FAQ是原创.
安装配置步骤(适用于分析IIS日志文件)
1
、下载AWStats, 官方下载:http://sourceforge.net/projects/awstats/
2
、由于AWStatsPertl写的,所以要下载Perl 解释器, 官方下载: http://activestate.com/Products/ActivePerl/

推荐使用默认安装路径,因为以下的某些步骤可能引用安装路径等信息。

这里需要说明一下我的软件版本:

ActivePerl-5.8.8.822-MSWin32-x86-280952.msiawstats-6.7.exe

操作系统Windows server 2003 SP2 IIS版本6.0

因为水平有限,很可能我的这篇文章只能适用于跟我一样的环境,但考虑到这个环境应该算是一个普遍的环境,因此还能有些实用价值。
3
、安装Perl 解释器ActivePerl

3.1、打开IIS管理器,WEB服务扩展,设置Perl CGI ExtensionPerl ISAPI ExtensionPerlEx ISAPI Extension为允许。

  1.gif

4、安装AWStats(这里假设安装在C:/Program Files), 出现命令行提示时,第一次输入none, 第二次输入y,第三次输入你要分析的网站域名,截图体积太大,模拟一个界面:

----- AWStats awstats_configure 1.0 (build 1.7) (c) Laurent Destailleur -----

This tool will help you to configure AWStats to analyze statistics for

one web server. You can try to use it to let it do all that is possible

in AWStats setup, however following the step by step manual setup

documentation (docs/index.html) is often a better idea. Above all if:

- You are not an administrator user,

- You want to analyze downloaded log files without web server,

- You want to analyze mail or ftp log files instead of web log files,

- You need to analyze load balanced servers log files,

- You want to 'understand' all possible ways to use AWStats...

Read the AWStats documentation (docs/index.html).

-----> Running OS detected: Windows

-----> Check for web server install

awstats_configure did not find your Apache web main runtime.

Please, enter full directory path of your Apache web server or

'none' to skip this step if you don't have local web server or

don't have permission to change its setup.

Example: c:/Program files/apache group/apache

Apache Web server path ('none' to skip):

> none   (注释:我们用的是IIS,所以输入NONE)

 

Your web server config file(s) could not be found.

You will need to setup your web server manually to declare AWStats

script as a CGI, if you want to build reports dynamically.

See AWStats setup documentation (file docs/index.html)

 

-----> Update model config file 'C:/Program Files/AWStats/wwwroot/cgi-bin/awstat

s.model.conf'

  File awstats.model.conf updated.

 

-----> Need to create a new config file ?

Do you want me to build a new AWStats config/profile

file (required if first install) [y/N] ? y   (第一次安装必须输入y)

 

-----> Define config file name to create

What is the name of your web site or profile analysis ?

Example: www.mysite.com

Example: demo

Your web site, virtual server or profile name:

> www.arksoft.cn   (这是我分析的网站的域名,你应该填你自己的)

一下会提示你输入两次ENTER,直接按回车键,按两次

  5、配置IIS日志
          5.1
活动日志格式选用默认的“W3C扩充扩展日志文件格式” 

        5.2 点击属性,再选择高级,选中且仅选中下列项目:
date
time
c-ip
cs-method
cs-uri-stem
cs-uri-query
sc-status
sc-bytes
cs-version
cs(User-Agent)
cs(Referer)

  2.gif

6、在需要进行统计的网站的根目录下建立虚拟目录cgi-bin,映射到C:/Program Files/AWStats/wwwroot/cgi-bin 权限:

  3.gif



    建立虚拟目录icon, 映射到C:/Program Files/AWStats/wwwroot/icon

  3.1.gif





7、修改C:/Program Files/AWStats/wwwroot/cgi-bin中的相应的配置文件:awstats.myvirtualhostname.conf(myvirtualhostname为你第4步中输入的域名, 比如www.arksoft.cn)。文件中以#开头的是注释,会被程序忽略。在没有被#注释掉的行修改相应的属性为下列值(红色标注):

 

LogFile=" C:/WINDOWS/System32/LogFiles/W3SVC1/ex%YY-0%MM-0%DD-0.log"  
这个字段分3个部分,C:/WINDOWS/System32/LogFiles/IIS日志文件的默认存储目录,W3SVC1是默认网站的目录名,但在储存多个站点的IIS上,这个名字通常对应的并不是你要分析的网站,这时候可以通过图1上的“常规”选项卡查看此网站对应的日志文件夹名称。ex%YY-0%MM-0%DD-0.log是通配符表示的目录文件名-0表示0小时之前,可以改成-24整个的意思是“此日志文件名以ex开头,后跟2位数年份(0小时之前的年份),2位数月份(0小时前的月)2位数的日(0小时前的日)后跟.log

LogFormat=" date time cs-method cs-uri-stem cs-uri-query c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes"

上述内容是日志文件的格式,你可以打开C:/WINDOWS/System32/LogFiles/W3SVC1/文件夹打开随便一个日志文件查看一下,类似

#Software: Microsoft Internet Information Services 6.0

#Version: 1.0

#Date: 2008-05-20 06:37:12

#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status

2008-05-20 06:37:12 W3SVC1 127.0.0.1 GET /iisstart.htm - 80 - 127.0.0.1 Mozilla/4.0+(compatible; +MSIE+6.0; +Windows+NT+5.2; +SV1; +.NET+CLR+1.1.4322) 200 0 0

其中:#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status

即是你现在的日志文件的格式。可以通过拷贝Fields:后面的内容至.CONF文件的LogFormat=“表达式”达到解析以前的旧日志(旧日志可能没有针对AWStats的使用专门设置Log文件的字段)的目的。(此处对旧日志文件的格式仍有特殊要求,未总结出规律)

AllowToUpdateStatsFromBrowser=1 允许通过浏览器更新统计信息,赋值为0为不允许。

SiteDomain=www.arksoft.cn同样的这里改成你自己的域名

LoadPlugin=" timezone  +8"   (文件中所有的LoadPlugin全以#注释掉了,随便找一个,把前面的#去掉,再加上后面的内容)更改时区为东八区(北京时间)

下面的内容有些涉及到权限管理,我的目标是不用进行身份认证即可查看统计报告,如果您有相反的需求,请对相应的权限自行掌握,或者参阅FAQ。

8、停止IIS中该网站的服务,打开资源管理器,找到日志文件所在文件夹(参考图1的“常规”选项卡)增加“IUSR_你的计算机名”帐户(以下简写IUSR)对该文件夹的读取权限,并删除该日志文件夹下的所有日志文件后重新启动IIS中该网站的服务。然后登录一次该网站以创建新格式的日志文件。

9.请在您的IIS网站目录中“cgi-bin”文件夹的属性-> 虚拟目录中使“脚本资源访问”选项为选中状态,并在虚拟目录-> 应用程序设置中添加

91、使配置生效:请在命令行下,运行 awstats.pl -config=myvirtualhostname -update

例如:

C:/Documents and Settings/Scott> cd c:/ Program Files/AWStats/wwwroot/cgi-bin ‘更改路径

C:/Program Files/AWStats/wwwroot/cgi-bin> awstats.pl -config=www.arksoft.cn -update

10、配置完成,通过Web访问日志http://www.arksoft.cn/cgi-bin/awstats.pl?config=www.arksoft.cn 点击屏幕左上方的立即更新按钮

如果在其中任何一步出现Unexpected提示,请看下面的FAQ

 

以下的步骤是为在同一计算机上配置其他虚拟主机(网站)而写。如果没有这方面的需要可以略过。

将上文中提到的awstats.www.arksot.cn.conf拷贝一份到同文件夹,命名为awstats.modle.conf,(modle可改为你喜欢的名字),添加下列内容,方便起见,我将说明以注释的形式写在下面

# Common log config file including modle config,use save as to save the updated file

# by another name.

# Before use it ,you must put awstats.modle.conf to the same dir.

 

 

include " awstats.model.conf"

 

LogFile=" c:/windows/system32/logfiles/.../ex%yy%mm%dd.log"

#上一行中的更改为你的新网站的日志文件目录名,

#相信配置完第一个网站之后你明白我的意思

SiteDomain=" "

#上一行的更改为你新网站的域名

HostAliases=" "

# HostAliases是你网站的别名,更换为你新网站的域名(同上即可)

DirData=" C:/Program Files/AWStats/statistics-data/..."

#这里需要着重说明一下,这一行的意思是,AWSTATS生成的文件存放在哪里,因为AWSTATS分析

#完日志之后必须先把结果存放在一个地方然后你在网页上才能读到这些内容,这涉及到IUSR帐

#户对本地计算机的写入权限的问题,通常,默认的设置是与awstats.www.xxx.com.conf同一文

#件夹,就是awstats.pl所在的cgi-bin目录,但是我们知道,这个目录是已经赋予了IUSR帐户脚

#本和运行权限的,如果继续给它追加写入权限是非常危险的,结果就是匿名用户将拥有仅次于

#管理员的权限,所以我们要把写入权限与运行权限分开,方法就是另建一个专为AWSTATS写入文

#件的文件夹(本例中使用一个新建的文件夹statistics-data),为了分类方便,我们再把每个 #网站生成的文件分开存放。可以取一个容易识别的名字

执行上面的步骤56899.1;在什么地方该做什么修改您应该已经非常清楚了,我就不再赘述。

如果出现任何Unexpeted提示,请立即参阅本文后面的FAQ

 

以下内容为在此环境中添加qqhostinfo插件所写

以网站名为www.arksot.cn为例

1.    打开awstats.www.arksoft.cn.conf,添加一行

Loadplugin=”qqhostinfo”

保存

2.命令行下执行(需要主机可以上网)下载xwhois.pm

C:/Documents and Settings/Administrator> cd c:/perl/bin

C:/Perl/bin> ppm install net::xwhois

# 注释:出现下面的提示说明操作成功

Downloading Net-XWhois-0.90...done

Unpacking Net-XWhois-0.90...done

Generating HTML for Net-XWhois-0.90...done

Updating files in site area...done

    2 files installed

 

C:/Perl/bin>

3.下载qqhostinfo.pm  qqwry.pl    qqwry.dat三个文件

下载地址:(如打开页面后显示的不是保存对话框而是程序代码,可将网页中的代码粘贴至记事本,另存为相应的文件名和后缀名)
qqhostinfo.pm  http://www.ieasy.org/download/qqhostinfo.pm
qqwry.pl   http://www.ieasy.org/download/qqwry.pl

qqwry.dat官方更新地址   http://www.cz88.net/  可以链接到qqwry.dat的最新版本下载地址

4.配置文件的修改:

                qqwry.pl 代码部分LINE 8修改为 my $ipfile=" ${ DIR} /QQWry.Dat" ; (包含分号)

                qqhostinfo.pm 未被注释的第一行开始,修改为:

                push @INC, " ${ DIR} /plugins" ;

# ----->

use strict; no strict " refs" ;

 

require " ${ DIR} /qqwry.pl" ;

没有其他改动了。

这三个文件都是我修改好了的,确定可以在Win 2003+IIS6.0下工作

修改的内容主要是设置qqwry.plqqwry.dat的路径,因为原文件是针对UNIX应用环境编写,在路径格式上不适用

qqhostinfo.pmxwhois.pm放在c:/program files/awstats/wwwroot/cgi-bin/plugins目录下

qqwry.pl  qqwry.dat两个文件放在c:/program files/awstats/wwwroot/cgi-bin目录下

对这4个文件单独设置安全属性,确保IUSR帐户对其可读和(或)可执行,以相应文件夹权限为准。

登陆统计页面,可以看到你的统计结果已经包含IP地址对应的地理位置了。

 

FAQ

Q: 在命令行方式下输入awstats.pl -config=www.arksoft.cn -update时,提示是:

Error: Couldn't open server log file " C:/WINDOWS/System32/LogFiles/W3SVC1/ex051106.log" : Permission denied
Setup ('C:/Program Files/AWStats/wwwroot/cgi-bin/awstats.winclsky.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

A:这种情况一般是因为当你在第8步中删除了所有的日志文件之后,AWStats找不到当日的日志文件,所以报错。解决方法:重新启动IIS,在浏览器中登陆你的网站,让IIS记录下此登陆行为到日志文件中,然后再执行第9步之操作。

第二种可能,你的日志文件不是按天存放的,打开IIS管理器,右键你的网站-属性-日志文件属性-常规,设置为:新日志计划-每天  文件命名和创建使用当地时间 打钩。

  4.gif

如果这两种方法都不能解决,检查你的.conf文件的设置是否正确。详见步骤7

Q:使用浏览器登陆http://www.arksoft.cn/cgi-bin/awstats.pl?config=www.arksoft.cn页面时,显示找不到指定的页面(404错误

A:检查你在步骤6中设置的虚拟目录地址是否正确(虚拟目录名cgi-bin),另外,检查URL地址是否正确(形如http://www.arksoft.cn/cgi-bin/awstats.pl?config=www.arksoft.cn黑体部分不变,域名根据情况填写)。如果不能解决,参考下一条FAQ

Q:步骤3.1中,WEB服务扩展中并没有Perl CGI ExtensionPerl ISAPI ExtensionPerlEx ISAPI Extension这三项,无法进行配置,改如何解决?

A:这种现象出现的原因我还不清楚,我在虚拟机上安装了ActivePerl后,IIS可以自动添加这几条扩展,但是在生产环境中就不行,但是这不是最重要的,我们可以手动添加上述规则:参考图a点击“任务  添加一个新的WEB服务扩展”扩展名填pl(或者你想麻烦点写Perl CGI Extension也可以) ,点添加输入C:/Perl/bin/perl.exe " %s" %s,点击确定。记得再设置为允许。

  5.gif

同样的方法添加添加Perl ISAPI ExtensionPerlEx ISAPI Extension,分别对应的文件是C:/Perl/bin/perils.dllC:/Perl/bin/perlex30.dll

下一步需要在IIS设置扩展名映射。左键你的网站-右键虚拟目录cgi-bin-属性-主目录,勾选脚本资源访问,读取,记录访问,索引资源。在下面的执行权限菜单中选择脚本和应用程序

 

之后点击执行权限-脚本和可执行文件右面的配置按钮-映射选项卡,在扩展名下找有没有.pl  .plx  .plex后缀的映射(应该是没有,否则我们也不会走到这一步),现在手动添加映射,点击添加,可执行文件输入C:/Perl/bin/perl.exe “%s” %s  (请确保输入法是英文,半角,在此处复制粘贴可能会出现CGI-ERROR错误,本文其他地方同样注意)扩展名填pl 。动作限制为GET,HEAD,POST  点击确定。

同样的方法添加.plx.plex的映射,映射可执行文件分别为同文件夹下的perlis.dllperlex30.dll。动作限制相同。(.plx.plexAwstats可能不是必需的)

这一步完成之后意味着你的网站已经支持Perl,并且能正确解释.pl脚本了,如果你还不放心,可以将下述文字拷贝至记事本,保存为test.pl,放在你的cgi-bin目录下,在浏览器中输入

www.arksoft.cn/cgi-bin/test.pl 看是否显示成功消息:

 

#!c:/perl/bin/perl.exe

# ------------------------------------------------

# 测试WEB服务器是否支持perl语言解析的测试程序

# 也是一个用perl语言书写的cgi程序

# ------------------------------------------------

# 代码开始

print " content-type:text/html" ," /n/n" ;

print " < html> /n" ;

print " < head> < title> test< /title> < /head> /n" ;

print " < body> < center> /n" ;

print " 这是 CGI 测试。/n" ;

print " 恭喜你,你的服务器已支持PERL/n" ;

print " < /center> < /body> /n" ;

print " < /html> /n"

# 代码结束

Q:浏览器中输入http://www.arksoft.cn/cgi-bin/awstats.pl?config=www.arksoft.cn时,显示没有权限,该网站需要您登陆(403错误

A: < 引用别人的内容> ·为确保首次配置可以被正确执行,尽可能为相关目录降低安全级别,待调试正常后再更改目录安全级别
a
Active Perl 目录安全添加账户EveryOne> > 完全控制
b
IIS日志存储  目录安全添加账户EveryOne> > 完全控制
c
AWStats安装目录中 /wwwroot/cgi-bin/ 目录安全添加账户EveryOne> > 完全控制< /引用>

根据我的一点经验,a)Active Perl 目录不需要写权限,可将该目录权限设置为IUSR_XXXX可执行可读。a )IIS日志文件夹需要IUSR_XXXX读写权限(*此处根据后文FAQ的设置,可以不需要写权限),其他不需要。c)还未调试,暂时也是完全控制,大家别黑我的网站。

如果这些操作不能解决问题,请看上一条FAQ

Q: 浏览器中输入http://www.arksoft.cn/cgi-bin/awstats.pl?config=www.arksoft.cn时可以打开分析页面,但是一直显示“从未刷新”

A:确定成功执行了步骤789.

Q:打开分析页面后,点击“立即刷新”出现的是类似

Error: Couldn't open server log file " C:/WINDOWS/System32/LogFiles/W3SVC1/ex051106.log" : Permission denied

Setup ('C:/Program Files/AWStats/wwwroot/cgi-bin/awstats.winclsky.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

的信息,为何?

A:IUSR帐户对日志文件夹没有读权限(默认情况下只有系统管理员有此权限),或者日志文件还未生成,或者日志生成方式设置错误,参考第一条FAQ。解决方法:对日志文件夹加入IUSR帐户的读权限,注意,仅对C:/WINDOWS/System32/LogFiles/文件夹设置权限是不够的,还需要对它的下级文件夹/W3SVC1直接设置IUSR_XXXX的读权限。这种情况尤其容易发生在拥有多个站点的IIS上。这是低安全性的做法,高安全性的做法是关闭网页上的立即刷新功能(可以不再给IUSR帐户提供日志文件夹的读权限),改为使用批处理文件命令行方式刷新,这需要对上面的某些步骤作修改,具体做法参考车东和刘辉的文章。

Q:统计结果里,搜索用的关键词是乱码,如何解决?

A:打开awstats.www.arksoft.cn.conf,修改以下两处为下列值:

Lang=”cn”

Loadplugin=" decodeutfkeys"

 

 

使用条款

 

如果页面上的图片不能正常显示,大家可以到www.arksoft.cn上查看我的文章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值