Linux中Squid-Graph的安装和配置

Squid-Graph是代理服务器SQUID的纪录分析工具或者说是命中率监控软件,用PERL写成,能生成访问纪录的详细分析报表。正因为是用perl写的,所以自身的环境必须有perl和GD库。

1、准备工作
到官方网站下载Squid-Graph,目前的版本是Squid-Graph 3.2.可以点击Squid-Graph此信息下载.

2.安装perl的GD包
我采用的yum安装方式
#yum -y install perl-GD-Graph perl-GD


说明下采用编译安装的时候遇到问题:
找不到 lgb的解决办法:
1,http://www.libgd.org/Main_Page下载最新的libgd
http://www.libgd.org/releases/gd-2.0.36RC1.tar.gz
gd-2.0.36的安装很容易就三步
#./configure
#make
#make install
安装完成继续per Makefiel.PL
所有选择按默认就可以了
3,make
4,make install

安装squid-graph
1,解压缩,tar zxvf squid-graph-3.2.tar.gz
2,mv squid-graph /usr/local/
3,在apache目录下建立squid-graph文件夹
mkdir -p /usr/local/apache2/htdocs/squid-graph
使用以下命令就可以运行了
/usr/local/squid-graph/squid-graph -o=/usr/local/apache2/htdocs/squid-graph/ < /etc/log/squid/access.log

如果出现这个问题
Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/GD/GD.so' for module GD: libgd.so.2: 
cannot open shared object file: No such file or directory at /usr/lib/perl5/5.8.5/i386-linux-thread-multi
解决办法:
[root@linux tmp]# vi /etc/ld.so.conf 
[root@linux tmp]# less /etc/ld.so.conf 
include ld.so.conf.d/*.conf 
/usr/X11R6/lib 
/usr/local/mysql/lib 
/usr/local/BerkeleyDB/lib 
/usr/local/authlib/lib/courier-authlib 
/usr/local/sasl2/lib 
/usr/local/sasl2/lib/sasl2 
/usr/local/clamav/lib 
/usr/local/lib 
/usr/local/authlib/lib/courier-authlib 
/usr/local/gd/lib 
/usr/local/jpeg/lib 
/usr/local/fontconfig/lib 
/usr/local/freetype2/lib 
/usr/local/png/lib 
[root@linux tmp]# ldconfig -v

3、配置:
编辑apache的配置文档http.conf
在最后加入
Alias /squid-graph /usr/local/apache2/htdocs/squid-graph
<Location /squid-graph>
    Order deny,allow
    Allow from all
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
    # Allow from .example.com
</Location>

保存退出

然后配置cron,每5分钟执行一次

crontab -e

*/5 * * * * /usr/local/squid-graph/squid-graph -o=/usr/local/apache2/htdocs/squid-graph/ < /var/log/squid/access.log


到此结束,然后通过浏览器访问http://ip/squid-graph/index.html就可以看到了

注:有一点需要主要的地方,就是squid的日志要使用squid原本的格式

#emulate_httpd_log on ,此行一定要注释掉,不然程序分析不出来

access_log /var/log/squid/access.log

 

来源:http://www.kklinux.com 作者:看看Linux