基于日志的站点统计系统的构建( Awstats )
时间:2006-10-31 来源:linux6
|
通过我们构建的HTTP服务器将Web发布后,随着不断被访问,Apache会记下每个访客的基本信息。CentOS的情况下,这些信息通常保存在位 于/var/log/httpd/下的相应日志文件中。对于一个管理员,养成经常查看日志的习惯是当然的。但Apache单调的日志,除了提供给我们一些 最基本的服务器被访信息、以及出错信息之外,我们很难单纯的通过日志文件得到更多、更系统的关于时间、规律性、地点方面的信息。这也使得不少的管理员疏忽 或者说懒得去关注日志。
但通过Awstats,我们可以把Apache的日志作为一种有效资源,获得更加系统化的信息。
实质上,Awstats是一套分析系统,它将日志文件统计学式的进行分析与统计,然后提供一个能够反映规律性的界面给我们。Awstats不仅仅用于 分析Apache的日志,但在这一节,只介绍在Web服务器中运用Awstats建立统计系统的方法。
|
首先下载并安装Awstats。
[root@sample ~]# wget http://nchc.dl.sourceforge.net/sourceforge/awstats/awstats-6.5-1.noarch.rpm ← 下载Awstats的rpm包 100%[====================================>] 1,095,131 155.28K/s ETA 00:00 15:35:06 (158.94 KB/s) - `awstats-6.5-1.noarch.rpm' saved [1095131/1095131]
[root@sample ~]# rpm -ivh awstats-6.5-1.noarch.rpm ← 安装Awstats
----- AWStats 6.5 - Laurent Destailleur -----
If first install, follow instructions in documentation |
然后删除安装后的遗留源文件。
[root@sample ~]# rm -f awstats-6.5-1.noarch.rpm ← 删除安装后的遗留源文件 |
|
接下来对Awstats进行初始配置。
[root@sample ~]# /usr/local/awstats/tools/awstats_configure.pl ← 运行初始配置脚本
----- AWStats awstats_configure 1.0 (build 1.6) (c) Laurent Destailleur -----
-----> Running OS detected: Linux, BSD or Unix -----> Check for web server install
Enter full config file path of your Web server.
-----> Check and complete web server config file '/etc/httpd/conf/httpd.conf'
-----> Update model config file '/etc/awstats/awstats.model.conf'
-----> Need to create a new config file ?
-----> Define config file name to create
-----> Define config file path
-----> Create config file '/etc/awstats/awstats.www.centospub.com.conf' -----> Restart Web server with '/sbin/service httpd restart' ← HTTP服务重新启动
Stopping httpd: [ OK ]
-----> Add update process inside a scheduler
A SIMPLE config file has been created: /etc/awstats/awstats.www.centospub.com.conf Press ENTER to finish... ← 按回车结束初始配置 |
然后对刚刚创建的对象配置文件进行配置。
[root@sample ~]# vi /etc/awstats/awstats.www.centospub.com.conf ← 修改对象配置文件(文件名与上一步初始配置中设置的域名对应) |
接下来,再对httpd.conf中面向Awstats的部分进行必要设置。
[root@sample ~]# vi /etc/httpd/conf/httpd.conf ← 编辑Apache的配置文件 |
然后,重新启动HTTP服务,使新的设置生效。
[root@sample ~]# /etc/rc.d/init.d/httpd restart ← 重新启动HTTP服务,使设置生效 |
|
配置完毕后,我们可以通过各种适用于自己的方式,定义统计的方式以及输出的结果。在这里,介绍最简单,也是最广泛的统计方法,如下:
[root@sample ~]# vi /root/awstats.sh ← 建立统计用脚本如下: |
然后在客户端的浏览器上访问 http://服务器IP地址(或你的域名)/awstats/awstats.pl?config=www.centospub.com 即可看到详细的分析统计资料,如下图:
|
[1] 完成以上配置,我们已经可以通过客户端的浏览器,掌握Web服务器的访问量、来路等等详细的信息,但由于Awstats的统计是基于Apache日志的, 我们必须通过awstats.pl对当前最新的日志文件进行统计才能得到最新的统计结果。也就是说,在我们运行自行创建的awstats.sh脚本之前, 当前在客户端能够看到的统计分析结果,只是上一次运行awstats.sh脚本时统计的结果。想得到最新的统计结果,必须再次运行awstats.sh。 在这里,我们将其设置为每天定时自动运行,以便于每天都能查看到最新的信息。如下:
[root@sample ~]# crontab -e ← 对定期任务执行时间表进行编辑,添加如下一行: |
[2] 在一些情况,可能并不希望外界看到日志统计分析的结果。对此,我们可以为Apache添加面向于Awstats的访问限制,如下:
[root@sample ~]# vi /etc/httpd/conf.d/awstats.conf ← 创建面向于Awstats的配置文件 |
[3] 用Firefox浏览分析结果时,字体会显得很难看(因为Firefox和IE识别11px字体不一样),所以用Firefox浏览器的情况,可以通过修改awstats.pl输出css的相关字体尺寸进行修改,而达到用Firefox浏览时也和IE一样能够正确显示出适当尺寸的字体。方法就是直接编辑"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl",将文件中所有“11px”的地方都替换为“12px。