在CentOS上使用sarg分析squid日志文件
在CentOS上使用sarg分析squid日志文件
安装Apache
如果还没有安装Apache,则安装(假定采用CentOS自带的Apache):
yum install httpd
修改防火墙配置添加http端口
需要添加一条防火墙规则,允许到端口80的访问。编辑/etc/sysconfig/iptables文件,在其中添加类似如下内容:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
安装SARG
从 https://dag.wieers.com/rpm/packages/sarg/ 下载适当版本的二进制包,并安装:
cd /usr/src
wget https://dag.wieers.com/rpm/packages/sarg/sarg-2.2.3.1-1.el4.rf.i386.rpm
yum install gd gd-devel
rpm -i /usr/src/sarg-2.2.1-1.el4.rf.i386.rpm
vi /etc/httpd/conf.d/sarg.conf
上面最后一行命令是为了编辑sarg配置文件,在其中添加”Allow from”行,以允许哪些计算机查看这些报表。
配置sarg分析squid日志文件
如果采用CentOS自带的squid包,则几乎不需要修改任何配置,直接跳过这一步骤即可。因为我是自己编译的squid,日志文件放在不同的位置,所以需要修改日志文件的位置。
修改/etc/sarg/sarg.conf文件,将access_log设置指向到squid日志文件。在编译时选择的默认设置,它的位置是/usr/local/squid/var/logs/access.log。
接下来检查cron文件夹中的sarg脚本。我需要修改access_log设置,使之指向到squid日志文件。配置文件/etc/cron.daily/sarg不需要进行修改。配置文件/etc/cron.weekly/sarg中需要将日志文件路径指向到squid日志文件。配置文件/etc/cron.monthly/sarg中需要将日志文件路径指向到squid日志文件。
因为CentOS自带的squid是每周截断日志文件,保留5个副本(参见配置文件/etc/logrotate.d/squid)。所以相应的sarg包也会处理这几个日志文件。我自己系统上编译的squid也是每周截断一次,但是没有压缩,所以需要进行相应地修改。
执行/usr/bin/sarg命令,创建一个ONE-SHOT报表,以进行测试。
重新启动Apache
/etc/init.d/httpd restart
测试
使用网页浏览器,浏览到所配置的这台机器,并且在url最后添加/sarg路径。(例如 https://192.168.0.1/sarg )。确认ONE-SHOT报表已经成功生成。
等待cron作业运行并生成其他报表。
至此全部配置完成。
最后更新:2017-01-04 22:34:32