在httpd服务器的访问日志文件access_log中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解web站点的访问情况。但是由于access_log文件记录的信息太多,查看起来很不方便,所以我们使用AWStats分析系统生成图形界面查看。
AWStats是使用perl语言开发的一款开源日志分析工具,它不仅可用来分析Apache网站服务器的访问日志,也可以用来分析Samba、Vsftpd、IIS等服务的日志信息。结合crond等计划任务服务,可以对不断增长的日志内容定期进行分析。
AWStats软件包可以从http://awstats.sourceforg.net网站中下载。
1、安装AWStats软件包
awstats软件包安装非常简单,只需要将软件包解压后部署到httpd服务器中的“/usr/local/”目录下即可。
[root@localhost /]#unzip awstats-7.0.zip
[root@localhost /]#mv awstats-7.0 /usr/lcoal/awstats
2、为要统计的站点建立配置文件
使用AWStats系统时,该系统支持分别统计多个网站的日志文件,通常以网站名称来区分不同的站点。因此,在执行日志文件分析之前,需要为每个web站点建立站点统计配置文件,借助于AWStats程序提供的awstats_configure.pl脚本可以简化创建过程。
[root@localhost /]#cd /usr/lcoal/awstats/tools/
[]root@localhost tools]#./awstats_configure.pl
之后将会进入一个交互的配置过程,将会检查awstats的安装目录,httpd服务的配置路径,日志记录格式等系统环境,并提示用户指定站点名称,设置配置文件路径。
1)指定httpd主配置文件的路径
2)设置日志类型
将httpd服务器的日志记录格式改为“combined”,服务器可以在日志文件中记录更加详细的web访问信息。建议选择“y”,脚本会自动修改日志类型。
3)为指定web站点创建配置文件
根据提示继续选择“y”以创建站点配置文件,并指定要统计的目标网站名称,站点配置文件的存放位置(默认为/etc/awstats/)
4)后续配置工作
接下来会自动重启httpd服务(需要有/etc/init.d/httpd脚本支持),然后按两次回车键退出配置工具。
3、修改站点统计配置文件
为站点www.benet.com建立好配置文件以后,还需要对其做进一步的修改。修改的内容主要包括指定要分析的web日志文件和指定存放统计数据的目录。
[root@localhost /]#vim /etc/awstats/awstats.www.benet.com.conf
LogFile="/usr/lcoal/httpd/logs/access_log" //指定web访问日志文件的路径
DirData="/var/lib/awstats" //指定统计数据的目录
......//省略部分内容
[root@localhost /]#mkdir -p /var/lib/awstats //创建用于存放统计数据的目录
4、执行日志分析,并设置cron计划任务
使用AWStats提供的awstats_updateall.pl脚本,可以手动更新所有的站点的日志统计数据。
[]root@localhost /]#/usr/local/awstats/tools/awstats_updateall.pl now
由于web日志文件的内容是在不断更新的,为了及时反馈网站访问情况,日志分析工作业需要定期,自定地执行。
[root@localhost /]#crontab -e //设置计划任务,每5分钟更新一次
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@lcoalhost /]# /etc/init.d/crond start //开启计划任务服务
[root@localhost /]#chkconfig --level 35 crond on //设置在35级别中自动启动
5、访问AWStats分析系统
在浏览器中输入http://www.benet.com/awstats/awstats.pl?config=www.benet.com即可访问AWStats分析
在访问AWStats系统时,需要指定awstats目录,脚本位置,统计目标等信息,这样一来即不便于记忆,输入时也比较麻烦。为了简化操作,可以再web根目录下建立一个自动跳转的html网页
[root@localhost /]#vim /usr/lcoal/httpd/htdocs/awstats.html
<html>
<head>
<meta http-equiv=refresh content="0;
url=http://www.benet.com/awstats/awstats.pl?config=www.benet.com">
</head>
<body></body>
</html>
再次访问只需要输入“http://www.bent.com/awstats.html”即可访问AWStats分析系统。
细心的人可能会发现,在访问AWStats日志分析系统时并不需要提供账号和密码,只要知道对应的网址就可以获知web站点的访问情况,这给服务器的安全带了隐患。那么该怎么办呢?对了,我们可以给AWStats设置用户授权限制啊!如何设置用户授权限制请参考文章 RHEL 服务篇—使用Apache搭建web网站(二)客户端访问控制
如果需要给多个网站统计,可以再次执行“awstats_configure.pl”脚本创建新的配置文件即可。