监测Squid日志的五种方法

转载 2007年09月23日 14:00:00

原贴:http://www2.ccw.com.cn/05/0503/d/0503d04_3.asp

 

监测Squid日志的五种方法


■ 河南工业职业技术学院 邱建新



Squid是Unix、Linux环境下一款优秀的代理服务器软件,本文叙述了Squid代理日志的五种监测方法,五种方法各有重点,可根据需要进行选择使用。

1 使用命令行

访问时间 持续时间 客户IP 采用协议 传输字节 访问方式 服务IP

如果我们仅仅需要查看某一个字段,可以用awk命令,它把一个记录行分割成多个字段,我们使用参数传回需要的字段。命令如下:

# tail -f /var/log/squid/access.log | awk '{print$3 " " $8 " " $7}'

这里选择的是客户IP及取回内容字段,显示如下:

192.168.1.146 - http://jump.qq.com/clienturl_simp_80

192.168.1.149 - http://mm.china.com/zh_cn/images/tit_liangzhuang.gif

192.168.1.161 - http://ly.zzip.com.cn/movie/list.aspx?

这种方式的优点是实时性强,显示的是当前正在访问的记录的情况。

2 用SARG进行监测

SARG的全称是Squid Analysis Report Generator,即Squid报告分析产生器。利用SARG,可以窗口的方式显示上网用户的浏览记录,包括用户的访问时间,访问站点,传输字节等。SARG可从站点http://sarg.sourceforge.net/sarg.php下载,最新版本是2.0,目前还没有中文版本,这里下载的是源代码包。

1.安装SARG

把下载后的sarg-2.0.1.tar.gz拷贝到/usr/local/目录,进行解压缩并安装。执行如下指令:

#cp sarg-2.0.1.tar.gz /usr/local/

#cd /usr/local/

#tar -zfxv sarg-2.0.1.tar.gz

解压后在当前目录下产生sarg-2.0.1目录,进入到这个目录,执行以下安装命令:

# ./configure

# make

# make install

2.配置SARG

软件安装在/usr/local/sarg/目录下,目录下的配置文件sarg.conf主要包括如下参数:“language English”定义报告显示语言;“title "Squid User Access Reports"”定义报告文件的标题;“output_dir /var/www/html/squid-reports”定义报告文件的输出目录;“user_ip yes”以用户IP为基准进行显示,前提是进行了很好的用户IP控制;“access_log /var/log/squid/access.log”指定Squid日志文件的存放位置;“report_type topsites sites_users users_sites date_time denied auth_failures”显示产生的报告文件里包括什么类型的内容(如表所示)。

3.使用SARG

配置完成之后,在终端窗口用命令sarg生成报告文件,然后就可以在客户端使用浏览器通过访问http://Squid日志服务器地址/squid-reports/来查看squid日志了。图1所示是查看日志的一个界面。

图1 使用SARG查看日志界面

3 用Webalizer进行监测

Webalizer工作方式不同于SARG,这个软件主要侧重于信息的汇总,如带宽、输入输出量,用于比较在不同的时间段网络的使用情况。

1.安装Webalizer

从站点http://www.mrunix.net/webalizer/download.html下载,当前稳定版本是 2.01-10,提供RPM包和tar包格式的下载,笔者在这里下载的是webalizer-2.01-10-src.tgz。

进入到下载目录,执行如下命令:

#tar-xvzf webalizer-2.01-10-src.tgz

#cd web webalizer-2.01-10

#./configure

#make

#make install

2.配置Webalizer

Webalizer的配置文件是webalizer.conf,它可以放在安装目录下,也可以放在/etc/目录下,安装后产生可执行命令webalizer,当命令执行时,寻找webalizer.conf配置文件,产生相应的输出。webalizer.conf的配置比较简单,主要是指定squid日志文件的目录位置及产生报告的输出目录,主要参数如下:“LogFile /var/log/squid/access.log”表示squid日志文件目录;“LogType squid”表示Webalizer报告文件的输出类型;“OutputDir /home/webalizer/ ”表示报告文件的输出目录。

3.使用Webalizer

当执行webalizer命令后,在输出目录后输出报告文件,文件是基于时间段的,每一个时间段的报告产生的非常详细,查看文件仍可使用客户端浏览器方式。

4 用Calamaris进行监测

Calamaris是一个用perl语言写成的程序,如果要使用的话,首先系统里要安装perl解释器。它产生Squid日志的详细报告,包括按高峰时间时的使用情况、流进网内流量、流出流量、进出UDP包、进出TCP包、请求的二级或三级域名产生的报告文档。除用于Squid日志产生的日志分析外,它还可用于其他形式的代理服务软件产生的日志,如NetCache、Inktomi Traffic Server、Oops! proxy server、Novell InterNet Caching System等。

安装Calamaris也很简单,首先从站点http://cord.de/tools/squid/calamaris/Welcome.html.en下载Calamaris V2.59到/usr/local/目录。执行以下命令:

#cd /usr/local/

#tar xvzf calamaris-2.59.tar.gz

# cd calamaris-2.59

解压后的目录包含可执行文件calamaris,无须安装,直接使用即可,比如用以下命令使Calamaris处理squid日志文件,产生html格式的文件,并输出到/var/www/html/calamaris/index.html。然后执行如下命令就可以查看输出报告了。

#/usr/local/calamaris/calamaris -a -F html /var/log/squid/access.log>/var/www/html/calamaris/index.html

对一般的应用来讲,上面的命令产生了最详细的输出报告,我们用命令选项-a表示产生所有类型的报告,用选项-F html表示产生html格式的文档。/var/log/squid/access.log表示squid日志文件的存放位置,/var/www/html/calamaris/index.html表示输出的文件名。当产生报告文件后,在客户端用浏览器可进行浏览。

5 用Squid-Graph进行监测

Squid-Graph同Calamaris一样,也是用Perl写成的,但正如它的名字一样,它用图形化的方法产生squid代理的使用情况,它产生一些综合信息。

可以从站点http://squid-graph.securlogic.com/files/stable/squid-graph-3.1.tar.gz下载这个软件,这个软件是目前最后一个可获得的版本。这个程序的执行需要使用Perl GD模块,名称一般为GD.pm,是perl的绘图模块,其功能类似于市面上的许多图形程序。利用GD,我们展示如何创建几何图形,以及如何进行图像处理,这个模块可在软件发行版本的CD上找到,也可以从站点http://stein.cshl.org/WWW/software/GD/下载。

把下载的软件放到/usr/local/目录,进行解压。执行如下命令:

#cd /usr/local/

# tar xvzf squid-graph-3.1.tar.gz

# mv squid-graph-3.1 squid-graph

# cd squid-graph

# chmod +x /usr/local/squid-graph/bin/*

软件不须安装,直接使用,比如我们用以下的命令可产生TCP访问的累计图形:

#/usr/local/squid-graph/bin/squid-graph -c -n -o=/var/www/html/squid-graph/ --title="Squid server usage of proxy" < /var/log/squid/access.log

上面的这个命令用-c选项产生累计图形,用-n选项指定在命令执行过程中不向屏幕上输出信息,-o选项指定输出文件的目录,-title选项指定自定义的输出文档标题,图2是一个输出示例。

图2 Squid-Graph的显示

其实,squid-graph命令配合Linux下的其他命令如grep可以在squid日志中搜索需要的字符串,然后针对这一匹配项产生需要的图形。如下面的命令就产生了在所有日志行中有字符串“192.168.6.99”的客户端机器的使用squid代理的图形。

#cat /var/log/squid/access.log|grep"192.168.6.99"| /usr/local/squid-graph/bin/squid-graph -c -n / -o=/var/www/html/squid-graph/ --title="192.168.6.99’s usage"

利用这种方式,还可以产生统计访问某一个站点,访问特殊类型的文件如“.MP3”的统计图形。(作者E-mail:qiujxjia@yahoo.com.cn)

 

Squid服务日志分析

转载自:  http://my.oschina.net/chenguang/blog/371275  Apache 和 Squid 是两种著名的代理缓存软件,但Squid 较 ...

sarg对squid的日志流量分析报表(按小时,天,周生成)

 1.SARG介绍SARG的全称是:Squid Analysis Report GeneratorSARG非常好用的Squid日志分析工具,它输出html格式,可以详细列出了每一位用户访问intern...

squid日志分析软件sarg的安装和使用

原贴:http://blog.chinaunix.net/u/23204/showart_176830.html   ...

Squid 日志详解

原文地址: http://www.php-oa.com/2008/01/17/squid-log-access-store.htmlaccess.log 日志在squid中access访问日志最为重要...

squid 日志详解

在squid设置有日志格式设置  logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %

zabbix 监控squid 命中率、cachesize等相关

自定义脚本监控squid的一些日常状态,脚本如下: 脚本放置路径:/usr/local/zabbix-agent-ops/bin zabbix agent的bin下面 cat check_squid_...
  • kerncai
  • kerncai
  • 2013年11月13日 13:58
  • 1389

squid 配置详解--里面有些acl比较有用--而且介绍了日志分析事项

一、软件包a) squid-2.6.STABLE6.tar.bz2二、安装步骤a) Tar jxvf squid-2.6.STABLE6.tar.bz2b) ./configure --prefix=...
  • kai404
  • kai404
  • 2016年08月10日 10:31
  • 1107

自动分割SQUID的日志,并每天生成一个日期格式文件名的日志

原贴:http://bbs.chinaunix.net/viewthread.php?tid=538499&highlight=cnsnoopy&page=0&#pid4290654 自动分割SQUI...

squid 的配置详解 (转)--SeriesIII

 SQUID LOG 文件处理在/var/log/squid目录下面,有三个非常重要的文件,access.log stroe.log 和cache.log 这三个文件的说明在前面的小节已经讲过,在这里...

squid日志格式参数详解

在squid设置有日志格式设置logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %参数解释如下Field name syntax keys: {} mo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:监测Squid日志的五种方法
举报原因:
原因补充:

(最多只允许输入30个字)