Squid服务日志分析

Squid服务日志分析

   Apache 和 Squid 是两种著名的代理缓存软件,但Squid 较 Apache 而言是专门的代理缓存服务器软件,其代理缓存的功能强大,支持 HTTP/1.1 协议,其缓存对象也较多;并且 Squid 的缓存管理模块和访问控制模块功能很强大。它们有一定的相似之处,所以在分析完Apache日志后再看Squid日志就容易多了。


1 Squid日志分类


Squid的日志系统相对比较完善,常用日志分为如下两个:分别是access.log 和cache.log。

作用:

  access.log;客户端使用代理服务器的记录文件,访问日志位置在squid.conf中修改;

  cache.log; 缓存在运行时的状态信息和调试信息,一般情况下容量不大。缓存日志位置在squid.conf中修改。

当代理服务器运行时,所有客户提出的请求,以及Squid处理的结果都会被记录在/var/log/squid/access.log文件里,使得access.log文件的增长速度很快,通常会mount一个比较大的磁盘作为存储空间。

注意:squid下还有一类日志,store.log它记录每个进入和离开缓存的目标信息,参考价值不大,这里不做介绍。


2典型Squid访问日志分析


下面给出一条典型的Squid访问日志:

Squid服务日志分析

对这条日志的分析见表1。

Squid服务日志分析

结果/状态码 TCP_MISS 表示没有命中缓存,TCP_HIT  表示命中。

下面通过一个实用的Shell命令获取比较详细的命中情况:

# cat access.log|awk ‘{print$4}’|sort|uniq -c|sort -nr

     33 TCP_MISS/200

      2 TCP_MISS/302

      2 TCP_MEM_HIT/302

      1 TCP_MISS/503

当然状态信息(TCP_MISS、TCP_MEM等)不止这几个总的来说,HIT表示命中,而TCP_MISS表示未命中。

下列标签可能出现在access.log文件的第四个域。

  TCP_HIT :Squid发现请求资源最新的拷贝,并立即发送到客户端。

  TCP_MISS :Squid没有请求资源的cache拷贝。

  TCP_REFERSH_HIT :Squid发现请求资源旧拷贝,并发送确认请求到原始服务器。

  TCP_IMS_HIT:客户端发送确认请求,Squid发送更新的内容到客户端,而不联系原始服务器。

  TCP_NEGATIVE_HIT:在对原始服务器的请求导致HTTP错误时,Squid会缓存这个响应。在短时间内对这些资源的重复请求,导致了是否命中。negative_ttl指令控制这些错误被Cache的时间数量。

  TCP_MEM_HIT :Squid在内存cache里发现请求资源的有效拷贝,并将其立即发送到客户端。

  TCP_DENIED :因为http_access或http_reply_access规则,客户端的请求被拒绝了。

  • TCP_REDIRECT :重定向程序告诉Squid产生一个HTTP重定向到新的URI,这一功能比较常见,例如可以用来实现访问控制、移除广告、本地镜像等,用个实例来说,某个用户请求http://www.example.com/a.htm重定向程序将请求改变成另一个URI,http://www.example.com/b.htm。以下是重定向日志的实例:

TCP_REDIRECT/301 277 GET http://redirector.you.com/videoplayback257|0|3|8 HIER_NONE comp3


3 Squid时间戳转换


(1).Squid 时间戳(1356693954.014)看起来有点别扭,下面通过脚本将时间戳换算成我们认识的时间:

#perl -pe’s/^d+.d+/localtime($&)/e;’ access.log

Squid服务日志分析

经过Perl程序变化后的的时间直观的显示出来,便于查看。


(2).将Squid输出日志格式变形的脚本

   有时需要动态显示squid日志的第3、8、7列内容,以便更符合我们日常浏览习惯,就可以使用如下命令:

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

192.168.150.148-http://safebrowsing-cache.google.com/safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGMPiDyDM4g8yBkPxAwD_Aw

192.168.150.148-http://safebrowsing-cache.google.com/safebrowsing/rd/ChFnb29nLXBoaXNoLXNoYXZhchAAGM3iDyDg4g8qB1DxAwD__wEyBU3xAwAH

192.168.150.148-http://en-us.fxfeeds.mozilla.com/en-US/firefox/headlines.xml

192.168.150.148-http://fxfeeds.mozilla.com/firefox/headlines.xml

192.168.150.148-http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xm

(3).可以将一个squid日志记录行分割成多个字段,使用参数传回需要的字段。

# tail -f/var/log/squid/access.log | awk ‘{print$3 ” ” $8 ” ” $7}’

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

192.168.150.146-http://jump.qq.com/clienturl_simp_80192.168.150.147- http://mm.china.com/zh_cn/images/tit_liangzhuang.gif192.168.150.148 -http://ly.zzip.com.cn/movie/list.aspx/span>

(4).还可以根据日志分析缓存命中率:

#cat access.log|awk ‘{print$4}’|sort|uniq -c|sort -nr

9568 TCP_IMS_HIT/304

6313 TCP_HIT/200

2133 TCP_MISS/200

1568 TCP_MISS/206

587 TCP_MEM_HIT/200


4 Squid日志位置:


Squid的配置文件位于/etc/squid/squid.conf,可在这个文件加入如下一行内容,以定义日志文件的存储位置。

Access_log/var/log/squid/access.log squid

下面以RHEL5为例/var/log/squid/access.log

除了命令行方式以外,采用Squid报告分析产生器(SARG)也是一种更直观的方法。


1)使用Scalar脚本分析squid日志

scalar脚本使用简单,速度快,报告详细,免去手工分析的麻烦。分析功能包括:每小时流量、文件大小比例、文件扩展名比例、状态码比例、命中率比例等。其格式与流量统计报告分别如图2、图3所示。Scalar的下载地址是ftp://ftp.ulak.net.tr/pub/mirrors/www.squid.org/Scripts/scalar.awk

下载该脚本并赋予执行权限。接下来看个实际执行的例子。

# ./scalar.awk  access.log 

awk: ./scalar.awk:132: warning: escape sequence `/’ treated as plain `/’

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~  SCALAR (Squid Cache Advanced Log Analyzer & Reporter), Version 0.91  ~~~~

~~~~                                                                       ~~~~

~~~~   (C) 2003 by Yuri N. Fominov, YuriF@risk.az, http://scalar.risk.az   ~~~~

~~~~  SCALAR has no warranty and it is completely free, so you are welcome ~~~~

~~~~  to re-distribute this pretty useful piece of software. Good Luck2All ~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                                                                                    

~~~ Analysis Headlines ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  Log Start Time [15-10-2015 20:29:07]

    Log End Time [16-10-2015 12:39:17]

  Lines Analysed     5.469K

   Unique Hosts: 1

     In Traffic:   18.413 MB

    Out Traffic:   18.413 MB

  ————————————

  Saved Traffic:        0  B    0.00 %

~~~ Requests By Hours ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  3.2K                                                     ==                  

  3.0K                                                     ==                  

  2.9K                                                     ==                  

  2.7K                                                     ==                  

  2.6K                                                     ==                  

  2.4K                                                     ==                  

  2.2K                                                     ==                  

  2.1K                                                     ==                  

  1.9K                                                     == ==               

  1.8K                                                     == ==               

  1.6K                                                     == ==               

  1.4K                                                     == ==               

  1.3K                                                     == ==               

  1.1K                                                     == ==               

  960                                                      == ==               

  800                                                      == ==               

  640                                                      == ==               

  480                                                      == ==               

  320                                                      == ==               

  160                                                      == ==               

_______________________________________________________________________________

  Hours: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Maximum Requests:   3.217K/hour,       53 /min,    0.9/sec.

Average Requests:     227 /hour,        4 /min,    0.1/sec.

Minimum Requests:       0 /hour,        0 /min,    0.0/sec.

~~~ Traffic by Hours ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 10.9MB                                                    ==                  

 10.3MB                                                    ==                  

  9.8MB                                                    ==                  

  9.3MB                                                    ==                  

  8.7MB                                                    ==                  

  8.2MB                                                    ==                  

  7.6MB                                                    ==                  

  7.1MB                                                    ==                  

  6.5MB                                                    == ==               

  6.0MB                                                    == ==               

  5.4MB                                                    == ==               

  4.9MB                                                    == ==               

  4.4MB                                                    == ==               

  3.8MB                                                    == ==               

  3.3MB                                                    == ==               

  2.7MB                                                    == ==               

  2.2MB                                                    == ==               

  1.6MB                                                    == ==               

  1.1MB                                                    == ==               

557.4KB                                                    == ==               

_______________________________________________________________________________

  Hours: 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Maximum Xfers:  10.886 MB/hour,  185.783 KB/min,   3.096 KB/sec [  25 kbps]

Average Xfers: 785.618 KB/hour,   13.094 KB/min,     223  B/sec [   2 kbps]

Minimum Xfers:       0  B/hour,        0  B/min,       0  B/sec [   0 kbps]

~~~ File Extensions Report ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

——-|—— R E Q U E S T S  ——–|———– T R A F F I C ———–|

 Ext.  |  total | misses |  hits  |hit% |   total  |  misses  |   hits   |hit%|

——-|——–|——–|——–|—–|———-|———-|———-|—-|

/            24       24        0    0%        0  B       0  B       0  B 100%

================|========|========|=====|==========|==========|==========|====|

TOTALS:      24       24        0    0%        0  B       0  B       0  B awk: ./scalar.awk:1085: (FILENAME=access.log FNR=5469) fatal: division by zero attempted

5 图形化日志分析工具


    SARG是一款Squid日志分析工具,它采用html格式输出,详细列出了每一位用户访问Internet的站点信息、时间占用信息、排名、连接次数及访问量等。

实验:

下面在OSSIM环境下安装SARG工具

1)更改源

/etc/apt/sources.list配置文件最后添加一行内容: 

来源:weixin_33757911

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年1月21日
下一篇 2015年1月21日

相关推荐