服务器 频道

使用AWStats分析IIS6日志记录(下)

  【IT168 服务器学院】运行AWStats

  运行AWStats非常简单:你只需要运行AWStats.pl和awstats_buildstaticpages.pl。不过,你需要提供一些参数。主要参数是-config。-config确定这个程序用来分析数据和创建报告时所使用的配置文件。

  你最终会设置让报告生成周期化和自动化。但是,一开始时直接从命令行开始运行AWStats是很有效的,这样既可以看到这个软件是如何工作的又可以测试你的设置文件是否正确。首先,在前几节介绍过的你的bin文件夹中创建一个awstats.www.companysite.com.conf文件。你需要有一个IIS记录文件进行分析,因此,你可以把你的.conf文件指向你使用IIS MMC指定的记录文件。

  现在选择“开始”、“运行”并且输入“cmd.exe /f:on”指令。在打开的命令窗口中,把目录改变到包含所有的AWStats资源的bin文件夹。

  要运行你的第一次分析,输入如下指令:awstats.pl -config=www.companysite.com

  这里www.companysite.com换成新分析的域名,也是你的awstats.youdomian.conf配置文件的youdomian部分。这个命令让AWStats打开你的记录文件,分析这个文件并且显示分析的结果,然后就结束了。如果运行一切正常,你将在你的bindirdata文件夹中发现一个新的文件。实际的文件名称根据配置文件的名称、分析的月份等情况而定。如果发生了什么问题(你可以从结果中检查这个问题),你要确认Perl语言解析程序已安装并且运行正常、你的.conf文件配置正确、你的IIS记录文件格式正确并且处在AWStats软件要找到的位置。如果你发现AWStats没有解开几行编码(这个结果将显示这个问题),不要慌张。如果大多数行的代码都解开了,那就很好。否则,你的IIS记录格式可能就存在问题。

  再次运行同样的命令。AWStats现在的运行速度非常快,跳过以前分析过的全部记录。那是因为它是在老数据的基础上运行的,仅检查和分析IIS记录中的新的记录。

  在分析了记录数据之后,你可以让AWStats创建一个报告。创建一个包含这个报告的文件夹。在这个例子中,我创建了E:Reports,并且把这个binicon文件夹拷贝到这个目录中。还要在这个文件夹中创建一个“www.companysite.com”目录以便存储这个特定的配置/Web站点的全报告文件(你可以为你管理的每一个配置/Web站点创建一个文件夹。现在,从你以前使用过的同一个命令窗口运行这个命令:

  awstats_buildstaticpages.pl -update -config=www.companysite.com --

  dir=E:Reportswww.companysite.com -diricons=../icon

  确定改变你创建的报告路径的那个路径。上述命令让AWStats在指定的文件夹中创建一个HTML格式的报告。你可以使用浏览器打开这个HTML文件来查看分析的数据。

  运行AWStats的一些窍门

  AWStats功能强大使用方便。但是,AWStats在Windows平台上运行有一些问题。为了节省你的时间,我制作了一个窍门列表,能够让你在运行AWStats软件的时候少出问题。

  •AWStats创建一个它分析的每一个Web站点的数据缓存(为创建的每一个.conf文件建立一个数据缓存)。你每一次运行AWStats的时候,这个软件都检查这个缓存,看它是否包含以前分析过的数据。如果有这些数据的话,它就利用这些数据以避免分析整个记录文件。AWStats将紧接着上次执行时读过的最后一行开始阅读记录。因此,如果你需要清除所有的数据并且分析你的记录,你必须删除缓存文件。你能够在你安装这个软件时创建的dirdata文件夹中发现这些数据。

  •AWStats以严格的队列方式分析数据。例如,如果你已经分析了10月份的记录数据,你以后就不能分析9月份的数据。如果你必须要不按照排列顺序工作,首先要删除dirdata文件夹中的缓存文件,然后在分析10月份的数据之前先分析9月份的数据。

  •AWStats将跳过格式不正确的记录文件。如果发生这种事情,停止运行IIS 6,重新命名(或者删除)当前的记录文件,确认记录文件的选项时正确的,然后重新启动浏览器。IIS 6然后就以正确的格式创建一个新的记录文件。你可以使用AWStats对这个文件进行分析。

  •AWStats能够对它在记录文件中发现的IP地址进行DNS查询。这是一项非常好的功能,因为它能够让你了解有关这个请求来源的更多的信息。但是,这也需要很多时间,因为AWStats必须查询每一个IP地址的DNS服务器。因此,尽管这个功能有好处,但是,通常最好是不启用这个功能。

  •根据默认设置,AWStats的重点是每个月做一次报告,分析和创建以一个月为重点的报告(实际上,按照默认的设置,AWStats是报告当前这个月的状况)。如果你需要不同月份的报告,你可以指定一个具体的月份或者数据的范围。

  正如你能够看到的那样,在设置了正确的文件夹和配置之后,分析记录数据和创建报告仅需要运行两个脚本。事实上,你只需要运行buildstaticpages.pl文件,因为awstats.pl是在后台运行的。要记住,你手工启动这个程序只是为了检查输出和验证环境状况良好。

  因此,制定生成报告的时间安排是很简单的。然而,你头脑中仍然要有安全观念。这个话题我稍后再说。

  制定运行AWStats的时间计划

  尽管你在以离线模式使用AWStats软件,你可能还需要自动地创建更新的报告。这样做的最简单的方法是使用Windows计划任务工具软件。首先,在Web服务器(或者主动目录)上创建一个没有扩展权限的新的标准用户账号(你可以在用户组中建立这个账号)。为这个账号分配一个强大的口令是一个好主意。你将使用这个账号建立一个定时的任务,而不做其它用途。

  下一步,创建一个批处理文件,对你需要创建报告的每一个Web站点启动数据分析。下面是在服务器上分析三个不同的Web站点的一个典型的批处理文件:

  start /low /wait awstats_buildstaticpages.pl -update
  -config=www. companysite.com
  -dir=E:\Logs\Reports\www.companysite.com -diricons=../icon
  start /low /wait awstats_buildstaticpages.pl -update
  -config=www.companysite2.com
  -dir=E:\Logs\Reports\www.companysite2.com -diricons=../icon
  start /low /wait awstats_buildstaticpages.pl -update
  -config=www.huge.it -dir=E:\Logs\Reports\www.huge.it
  -diricons=../icon

  把这个文件存储为以.bat为扩展名的文件。请注意,批处理文件使用start.exe文件,而不是直接运行Perl脚本,因为Perl是一种解释性的语言,当你运行Perl程序的时候,你不能定义一个任务的优先等级或者使用CPU的最大值。用start.exe运行这些命令,越过以低优先等级运行Perl脚本的“/low”参数,让Windows进程调度(Process Scheduler)程序为标准的程序分配更多的CPU时间,并且以对整个系统影响很小的情况下运行这个记录分析器。“/wait ”选项可以让start.exe文件在执行下一个指令之前等待程序执行完毕。如果你省略了“/wait”选项,这个批处理文件将同时启动所有定义的AWStats进程(在这个例子中是三项任务)。这样将消耗太多的服务器资源。

  安全和NTFS设置

  当你安排(或者运行)一个程序的时候,最好是尽可能地限制其权限。要创建一份报告,你可以为你为了运行计划的任务而创建的用户账号分配NTFS(新技术文件系统)权限。你必须要分配如下权限:

  •执行,执行在c:\program files\perl目录下的程序

  •仅列出你存储AWStats文件的根文件夹(磁盘的根包含\bin文件夹)中的文件夹内容(或者限制宽松一些的阅读选项)。

  •执行在\bin文件夹中的文件

  •修改\bin\dirdata文件夹中的文件

  •读取包含IIS记录的文件夹

  •修改你让AWStats创建报告文件的文件夹

  仅设置这些权限禁止文件和文件夹访问运行AWStats软件的用户账号。对于每一台服务器和每一个应用程序来说这是一个通用的“非常好的做法”。

  除了上面提到的之外,AWStats还有许多额外的选项和功能。你可以找到完整的在线帮助文件。因此,你自己能够很容易找到和测试额外的功能。这个帮助文件是以Linux为中心的。但是,当你像本文介绍的那样在Windows平台上运行了AWStats软件之后,你将发现你可以参考那个帮助文件,没有什么问题。

0
相关文章