squid日志分析Webalizer

16.7.1 安装Webalizer

《网络服务搭建、配置与管理大全:Linux版》第16章代理服务器的配置与应用 主要介绍Squid Server的安装、基本配置和高级配置,代理客户端的配置,访问控制应用实例,以及Squid日志管理。本节为大家介绍安装Webalizer。

AD:


16.7.1 安装Webalizer

1.源代码安装方式

Webalizer的安装过程如下:

访问Webalizer的下载地址http://www.webalizer.org/download.html,如图16-33所示,单击"The Complete source distribution"栏目中的"Tar/Gzip archive"超链接下载"webalizer-2.20-01-src.tgz"安装文件,当前最新的稳定版本为2.20-01,文件大小为525KB。

squid日志分析Webalizer
(点击查看大图)图16-33 下载Webalizer
打开webalizer2.20-01的下载目录,会看到一个"webalizer-2.20-01-src.tgz"文件。执行以下命令解压缩安装包:
[[email protected] ~]# tar zxvf webalizer-2.20-01-src.tgz
解压缩后,在当前目录下会看到有一个webalizer-2.20-01文件目录。执行以下命令进入解压好的软件目录:
[[email protected] ~]# cd webalizer-2.20-01 
配置测试。
[[email protected] webalizer-2.20-01]#./configure 
使用GNU make工具编译源代码。
[[email protected] webalizer-2.20-01]# make --with-language=chinese 
编译成功后,会产生一个Webalizer可执行文件,可以将其拷贝到/usr/sbin/目录下。
[[email protected] webalizer-2.20-01]# cp Webalizer /usr/sbin/

恭喜你,至此,Webalizer的安装工作成功完成,可以进行下一步的配置工作了。

2.RPM包安装方式

以RPM包方式安装Webalizer的过程如下:

可以使用下面的命令检查系统是否已经安装了Webalizer,如图16-34所示。

[[email protected] ~]#rpm -qa|grep webalizer
squid日志分析Webalizer
图16-34 检查Webalizer是否安装
如果当前系统还未安装Webalizer,则需要在Red Hat Enterprise Linux 5的安装盘中找到并安装以下RPM包文件:
webalizer-2.01_10-11.i386.rpm  (位于第2张安装盘中) 
要安装上述RPM包文件,可以将Red Hat Enterprise Linux 5的安装盘放入光驱,加载光驱后在光盘的Server目录下找到相应的RPM安装包文件,然后使用rpm -ivh命令安装。
[[email protected] ~]# rpm -ivh webalizer-2.01_10-11.i386.rpm

16.7.2 配置Webalizer

《网络服务搭建、配置与管理大全:Linux版》第16章代理服务器的配置与应用 主要介绍Squid Server的安装、基本配置和高级配置,代理客户端的配置,访问控制应用实例,以及Squid日志管理。本节为大家介绍配置Webalizer。

AD:


16.7.2 配置Webalizer

我们可以通过命令行配置Webalizer,也可以通过配置文件进行配置。下面将重点介绍使用配置文件进行配置,该方法使用形式比较直观,使用比较普遍。

Webalizer的配置文件的路径是"/etc/webalizer.conf",它有一个对应的模板文件/etc/webalizer.conf.sample。在一般情况下,该配置文件的默认参数配置都能满足一定的应用需要,可以直接使用。接下来以实例的方式给大家介绍如何配置该文件。

使用vi编辑Webalizer配置文件。

[[email protected] ~]# vi /etc/webalizer.conf

设置访问日志的存放路径。

将系统默认值:

LogFile /var/log/httpd/access_log
改为如下内容:
LogFile /var/log/squid/access.log

设置访问日志的格式类型。

将格式类型参数:

LogType clf
修改为:
LogType squid

设置报表输出目录。

从默认值:

OutputDir /var/www/html/usages 

修改为Squid的统计报表保存目录。

使用crontab命令让Webalizer每天生成Squid的当日流量统计分析。

[[email protected] ~]# crontab -e
添加如下配置行,使得Webalizer每晚9点生成当天的Squid流量统计分析结果。
21 0 * * * /usr/bin/webalizer -c /etc/webalizer.conf 

Squid日志管理知识

Squid是Linux下一个缓存Internet数据的代理服务器软件,其接收用户的下载申请,并自动处理所下载的数据。在网络环境下,本地网络管理员经常可以通过Squid来代理访问互联网上的很多资源,因而对其进行日志审核和管理具有重大意义。

Squid日志管理的功能比较强大。通过查看相关日志文件,用户可以实时、准确地了解代理服务器的访问记录、Cache的存储状况、Cache的访问记录等许多有用的信息,从而高效地对代理服务器进行管理。

Squid最重要的日志文件就是访问日志,其访问路径为"/var/log/squid/access.log"。该日志文件记录了客户使用代理服务器的许多有用信息,包括使用时间、请求的内容、客户端信息等。该文件的格式如下:

time eclapsed remotehost code/status bytes 
method URL rfc931 peerstatus /peerhost type

可以看到,该日志文件的记录共包含10个字段,每个字段的含义如表16-4所示。

表16-4 字段的含义

time

记录客户访问代理服务器的时间,从1970

11到访问时所经历的秒数,精确到毫秒

eclapsed

记录处理缓存所花费的时间,以毫秒计数

remotehost

记录访问客户端的IP地址或者域名

code/status

结果信息编码/状态信息编码,如TCP_MISS/205

bytes

缓存字节数

method

HTTP请求方法:GET或者POST

URL

访问的目的地址的URL,如www.sina.com.cn

rfc931

默认的,暂未使用

peerstatus/peerhost

缓存级别/目的IP地址,如DIRECT/211.163.21.19

type

缓存对象类型,如text/html

下面给出了实际应用中的一段真实的访问日志,只取出了其中的一部分。
#cd /var/log/squid
#cat access.log
1119263842.955 195 192.168.10.3 TCP_MISS/200
1286 GET http://ad4.sina.com. cn/sina/ae/ad_src/
popup/pops1.html? - DIRECT/218.30.108.19 text/html
1119263843.241 286 192.168.10.3 TCP_MISS/200
44689 GET http://ad4.sina.com. cn/200506/15/
21135_300x250.GIF - DIRECT/218.30.108.18 image/gif
以第一条日志记录为例,其各个字段的含义如下:
客户访问代理服务器的时间为1119263842.955毫秒;处理缓存所花费的时间为195毫秒;客户端的IP地址为192.168.10.3,为内网地址;结果信息编码/状态信息编码为TCP_MISS/200;缓存字节数为1286;HTTP请求方法为GET;访问的目的地址的URL为:http://ad4.sina.com.cn/sina/ae/ad_src/popup/pops1.html;缓存级别/目的IP地址为:DIRECT/218.30.108.19;缓存对象类型为text/html;rfc913暂未使用,用"-"表示。
在上述的10个字段当中,结果信息编码及状态信息编码比较重要,其表明了代理服务器对于客户请求的信息的返回结果,与代理服务器的Cache命中率及Cache处理过程有直接关系。该信息能够真实地反映代理服务器的Cache的整体性能,具有较大的参考价值。

16.7.3 应用Webalizer查看Squid网络流量日志

《网络服务搭建、配置与管理大全:Linux版》第16章代理服务器的配置与应用 主要介绍Squid Server的安装、基本配置和高级配置,代理客户端的配置,访问控制应用实例,以及Squid日志管理。本节为大家介绍应用Webalizer查看Squid网络流量日志。

AD:


16.7.3 应用Webalizer查看Squid网络流量日志

Webalizer可以将大量的Squid日志信息综合起来进行统计,得出可视化的显示结果供网络管理员或者网络用户进行参考和评价Squid服务器的使用情况,对于做出相应的决策有相当的参考价值。

在使用过程中需要注意:由于该软件的使用结果都是通过Web页面来显示的,所以与Web服务器的联系比较紧密。下面给出该软件结合Squid服务器的使用示例。在通常情况下,配置好该软件之后,启动Web服务器(只有启动该服务器才能通过Web页面来查看日志统计的详细情况)和该软件即可。

[[email protected] ~]# service httpd start
[[email protected]ocalhost ~]# /usr/sbin/webalizer -c /etc/webalizer.conf
启动Apache服务及该软件后,就可以通过浏览器来查看Squid代理服务器的流量分析结果了。在IE浏览器的地址栏中输入Apache服务器的地址:http://192.168.1.101/usage,则得到如图16-35所示的结果。
squid日志分析Webalizer
(点击查看大图)图16-35 查看流量统计信息

图16-35中给出了流量分析的示意图及一些数据说明,可以通过单击图中"Summary by Month"表格的"Jul 2005"超链接,来显示更详细的统计分析数据。通过分析和查看这些统计图表的结果,用户可以清楚地知道Squid代理服务器使用的细节情况,并可以根据显示情况来对服务器做出适当的调整和优化。

使用Webalizer还有一个需要注意的问题是:通常并不需要每个用户都有权限来查看代理服务器的流量情况,否则对于系统来说是不安全的。非法用户为了掩盖自己非法使用代理服务器的目的,可以对流量统计情况的结果进行修改、删除等操作。所以,我们需要使用访问控制策略来对上述分析图表的查看权限进行控制,可以在Apache的主配置文件/etc/htpd/conf/httpd.conf中进行认证和授权配置,如下所示:

< Directory "/var/www/html/usage"> 
//使用基本认证方式
AuthType Basic
//指定认证域名称
AuthName "admin"
//指定认证口令文件存放的位置
AuthUserFile /var/www/passwd/admin
//授权给认证口令文件中的所有用户
require valid-user
< /Directory>
认证和授权配置成功后,需要创建认证口令文件及添加用户。
[[email protected] ~]# mkdir /var/www/passwd
[[email protected] ~]# cd /var/www/passwd
[[email protected] passwd]# htpasswd -C admin jackiee
New password:
Re-type new password:
Adding passwor for user jackiee
然后,将口令文件的属主改为apache,并重新启动Apache。
[[email protected] ~]# chown apache.apache admin 
[[email protected] ~]# service httpd restart
经过上面的配置后,用户在IE地址栏内输入路径http://192.168.1.101/usage后,具有认证和授权的用户才能通过用户认证界面,查看Squid代理服务器的流量分析报表信息。