如何用CentOS上的SARGtomcat日志分析器器来分析Squid日志

如何用CentOS上的SARG日志分析器来分析Squid日志
中,我们展示了如何在CentOS上使用Squid配置透明代理。Squid提供了很多有用的特性,但是分析一个原始Squid日志文件并不直接。比如,你如何分析下面Squid日志中的时间戳和数字?
.1.23 TCP_MISS/302 436 GET / - DIRECT/173.252.110.27 text/html
.1.23 TCP_MISS/200 4169 CONNECT :443 - DIRECT/173.255.223.127 -
174 172.17.1.23 TCP_MISS/200 955 POST / - DIRECT/117.18.237.29 application/ocsp-response
342 172.17.1.23 TCP_MISS/200 3890 CONNECT :443 - DIRECT/74.125.200.106 -
226 172.17.1.23 TCP_MISS/200 942 POST /ocsp - DIRECT/74.125.200.113 application/ocsp-response
.1.23 TCP_MISS/200 78944 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -
.1.23 TCP_MISS/200 118947 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -
.1.23 TCP_MISS/200 76809 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 -
611 172.17.1.23 TCP_MISS/200 110073 CONNECT fbstatic-a.akamaihd.net:443 - DIRECT/184.26.162.35 &
我们使用yum来安装安装必要的依赖。
# yum install gcc make wget httpd crond
在启动时加载必要的服务
# service crond start
# chkconfig crond on
现在我们下载并解压SARG
# wget http://downloads.sourceforge.net/project/sarg/sarg/sarg-2.3.8/sarg-2.3.8.tar.gz?
# tar zxvf sarg-2.3.8.tar.gz
# cd sarg-2.3.8
注意: 对于64位的Linux,log.c的源代码需要用下面的文件打补丁。
if (fprintf(ufile-&file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,nbytes,code,elap_time,smartfilter)&=0) {
if (fprintf(ufile-&file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,(int64_t)nbytes,code,elap_time,smartfilter)&=0) {
fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,nbytes,code,elap_time,smartfilter);
fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,(int64_t)nbytes,code,elap_time,smartfilter);
printf("LEN=\t%"PRIi64"\n",nbytes);
printf("LEN=\t%"PRIi64"\n",(int64_t)nbytes);
如下继续并编译/安装SARG
# ./configure
# make install
SARG安装之后,配置文件可以按你的要求修改。下面是一个SARG配置的例子。
# vim /usr/local/etc/sarg.conf
access_log /var/log/squid/access.log
temporary_dir /tmp
output_dir /var/www/html/squid-reports
date_format e
## We use Europian DD-MM-YYYY format here ##
## we don&t want multiple reports for single day/week/month ##
overwrite_report yes
现在是时候测试运行了,我们用调试模式运行sarg来查看是否存在错误。
如果i一切正常,sarg会根系Squid日志,并在/var/www/html/squid-reports下创建报告。报告也可以在浏览器中通过地址http://&服务器IP&/squid-reports/访问。
、SARG可以用于创建日、周、月度报告。时间范围用&-d&参数来指定,值的形式很可能为day-n、 week-n 或者 month-n,n的值为向前推移的天/周/月的数量。比如,使用week-1,SARG会生成之前一星期的报告。使用day-2,SARG会生成之前两天的报告。
作为演示,我们会准备一个计划任务来每天运行SARG。
# vim /etc/cron.daily/sarg
/usr/local/bin/sarg -d day-1
文件需要可执行权限。
# chmod 755 /usr/local/bin/sarg
现在SARG应该会每天准备关于Squid管理的流量报告。这些报告可以很容易地通过SARG网络接口访问。
总结一下,SARG一款基于网络的工具,它可以分析Squid日志,并以更详细的方式展示分析。系统管理员可以利用SARG来监视哪些网站被访问了,并跟踪访问量最大的网站和用户。本教程包含了SARG配置工作。你可以进一步自定义配置来满足自己的要求。
希望这篇教程对您有帮助。
Sarmed Rahman是一名孟加拉国的IT专业人士。他坚持时不时地写作技术文章,并坚信技术可以通过分享而提高。在空闲时间里,他喜欢打游戏,喜欢和朋友一起度过。
译者:&校对:
本文由&&原创翻译,&荣誉推出
上一篇:下一篇:
评论功能关闭
根据国家法律法规要求,本站暂时关闭文章评论功能。开放时间不确定。我们将谋求一种可以让大家更好的发表意见的方式。
根据国家法律法规要求,只有实名认证后才可以发表评论。
共计翻译: 559 篇
| 共计贡献: 1241 天
贡献时间: -&
上一节教程中,我们展示了如何在CentOS上使用Squid配置透明代理。Squid提供了很多有用的特性,但是分析一个原始Squid日志文件并不直接。比如,你如何分析下面Squid日志中的时间戳和数字?SARG(或者说是Squid分析报告生成器)是一款基于web的工具,用于从Squid日志中生成报告。SARG提供了一个由Squid处理的网络流量视图,易于理解,并且它可以很容易地设置和维护。在下面的教程中,我们会展示如何在CentOS平台上设置SARG。
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。
请将我们加入您的广告过滤器的白名单,请支持开源站点。谢谢您。原贴:.cn/05/0503/d/.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 - /clienturl_simp_80
192.168.1.149 - /zh_cn/images/tit_liangzhuang.gif
192.168.1.161 - .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 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所示是查看日志的一个界面。
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 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-/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是一个输出示例。
其实,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:.cn)
本文已收录于以下专栏:
相关文章推荐
原文地址: http://www.//squid-log-access-store.htmlaccess.log 日志在squid中access访问日志最为重要...
网站进行内容更新是常有的事情,当被缓存的资源更新时,前端Squid 缓存服务器内容也必须要相应的更新,否则用户就可能会看到过期的数据。当没有程序支持时就需要每次登录到服务器上执行刷新操作,在服务器数量...
网站进行内容更新是常有的事情,当被缓存的资源更新时,前端Squid 缓存服务器内容也必须要相应的更新,否则用户就可能会看到过期的数据。当没有程序支持时就需要每次登录到服务器上执行刷新操作,在服务器数量...
在“突破公司网络封锁,畅游无限网络”一文提到解决方案中,是利用ccproxy来建立proxy server。ccproxy是图形界面程序,使用比较简单,但是存在着两个问题:首先ccproxy不是免费软...
点击“开始检测按钮”Java调用本地方法startMonitor(),并启动一个线程,本地方法使用C来实现;本地方法的实现 产生随机数传给Java中的show()方法,show()方法中调用M...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 点格iis日志分析器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信