zoukankan      html  css  js  c++  java
  • Squid 代理服务器日志管理


    简介:

    Squid 服务器日志增长是很快的,如果不做处理的话,可以会由于系统限制单文件大小,而导致 Squid 服务停止,太大的日志文件也不适合分析。

    一、日志配置

    shell > grep 'log' /etc/squid/squid.conf
    
    cache_access_log /var/log/squid/access.log
    cache_log /var/log/squid/cache.log
    cache_store_log /var/log/squid/store.log
    logfile_rotate 7

    ## 这是 squid.conf 中关于 log 的配置项,分别定义了三个日志文件 access.log cache.log store.log
    ## logfile_rotate 7 代表保留 6 个历史日志文件,跟 1 个当前日志文件

    ## 默认 Squid 是不作日志切割的,系统允许写多大,那么日志文件就写多大

    shell > squid -k rotate

    ## 使用 squid -k rotate 来切割日志,切割的日志名按 .0 .1 .2 .3 .... 保存

    shell > ls /var/log/squid/*.log*
    /var/log/squid/access.log    /var/log/squid/cache.log    /var/log/squid/store.log
    /var/log/squid/access.log.0  /var/log/squid/cache.log.0  /var/log/squid/store.log.0
    
    shell > crontab -e
    0 3 * * * /usr/sbin/squid -k rotate

    ## 使用任务计划来定期切割日志

    shell > ls /var/log/squid/access.log*
    /var/log/squid/access.log    /var/log/squid/access.log.1  /var/log/squid/access.log.3  /var/log/squid/access.log.5
    /var/log/squid/access.log.0  /var/log/squid/access.log.2  /var/log/squid/access.log.4  /var/log/squid/access.log.6
    
    shell
    > ls /var/log/squid/cache.log* /var/log/squid/cache.log /var/log/squid/cache.log.1 /var/log/squid/cache.log.3 /var/log/squid/cache.log.5 /var/log/squid/cache.log.0 /var/log/squid/cache.log.2 /var/log/squid/cache.log.4 /var/log/squid/cache.log.6
    shell
    > ls /var/log/squid/store.log* /var/log/squid/store.log /var/log/squid/store.log.1 /var/log/squid/store.log.3 /var/log/squid/store.log.5 /var/log/squid/store.log.0 /var/log/squid/store.log.2 /var/log/squid/store.log.4 /var/log/squid/store.log.6

    ## 由于参数 logfile_rotate 7 的限定,每个日志文件最多保存 7 个( 自动删除 )

    二、日志分析

    /var/log/squid/access.log
    
    ## 时间戳          默认以 UTC 1970-01-01 00:00:00 到现在的秒数表示,显示为毫秒
       响应时间        处理所用时间,毫秒
       客户端地址      客户端 IP 地址
       结果码/状态码   结果码表示 Squid 专有的编码,如 TCP_HIT 、UDP_DENIED 等,状态码是 HTTP 的响应代码,如 200301404503 等
       传输 Size       给客户端传输字节数
       请求方式        HTTP 或 ICP 两种,HTTP 一般为 GET ,ICP 一般为 ICP_QUERY
       URL             请求的 URL 地址
       客户端身份      
       对端编码/对端主机   
       内容类型        HTTP 响应的内容类型
       HTTP 请求头部
       HTTP 响应头部
    
    ## access.log 结果码( 部分常见的,更多请常找相关资料 )
    
    TCP_HIT
    
    ## 在硬盘中发现有效请求资源并立即回传给用户的数据
    
    TCP_MISS
    
    ## 没有被缓存,并回传给用户的数据
    
    TCP_MEM_HIT
    
    ## 在内存中发现有效的请求资源并立即回传给用户的数据
    
    TCP_REFRESH_UNMODIFIED
    
    ## 请求资源可能是旧的缓存,发送确认请求到原始服务器,原始服务器返回 304 未修改响应,指示 Squid 的缓存是最新的。并回传给用户的数据
    
    TCP_REFRESH_MODIFIED
    
    ## 请求资源可能是旧的缓存,发送确认请求到原始服务器,原始服务器返回新的数据,指示这个缓存是旧的,缓存并回传给用户的数据
    
    shell > cat /var/log/squid/access.log | grep TCP_HIT
    
    ## 被缓存到硬盘并回传给用户的数据
    
    shell > cat /var/log/squid/access.log | grep TCP_MEM_HIT
    
    ## 被缓存到内存并回传给用户的数据
    
    shell > cat /var/log/squid/access.log | grep TCP_MISS
    
    ## 没有被缓存的数据,而是从原始服务器获取并回传给用户的数据

    三、缓存命中率

    shell > squidclient -h 192.168.1.88 -p 80 mgr:info
    
    HTTP/1.0 200 OK
    Server: squid/3.1.10
    Mime-Version: 1.0
    Date: Wed, 07 Jan 2015 08:09:10 GMT
    Content-Type: text/plain
    Expires: Wed, 07 Jan 2015 08:09:10 GMT
    Last-Modified: Wed, 07 Jan 2015 08:09:10 GMT
    X-Cache: MISS from study.localhost.localdomain
    X-Cache-Lookup: MISS from study.localhost.localdomain:80
    Via: 1.0 study.localhost.localdomain (squid/3.1.10)
    Connection: close
    
    Squid Object Cache: Version 3.1.10
    Start Time:     Wed, 07 Jan 2015 07:03:04 GMT
    Current Time:   Wed, 07 Jan 2015 08:09:10 GMT
    Connection information for squid:
            Number of clients accessing cache:      2
            Number of HTTP requests received:       741
            Number of ICP messages received:        0
            Number of ICP messages sent:    0
            Number of queued ICP replies:   0
            Number of HTCP messages received:       0
            Number of HTCP messages sent:   0
            Request failure ratio:   0.00
            Average HTTP requests per minute since start:   11.2
            Average ICP messages per minute since start:    0.0
            Select loop called: 36984 times, 107.235 ms avg
    Cache information for squid:
            Hits as % of all requests:      5min: 0.0%, 60min: 86.0%              ## 请求命中率 5分内平均 0.0% ,60分内平均 86.0%
            Hits as % of bytes sent:        5min: 100.0%, 60min: 99.1%            ## 字节命中率
            Memory hits as % of hit requests:       5min: 0.0%, 60min: 0.0%       ## 内存命中率
            Disk hits as % of hit requests: 5min: 0.0%, 60min: 13.5%              ## 磁盘命中率
            Storage Swap size:      31228 KB                                      ## 缓存目录大小
            Storage Swap capacity:   0.7% used, 99.3% free
            Storage Mem size:       108 KB                                        ## 缓存内存大小
            Storage Mem capacity:    0.0% used, 100.0% free
            Mean Object Size:       255.97 KB
            Requests given to unlinkd:      0
    Median Service Times (seconds)  5 min    60 min:
            HTTP Requests (All):   0.00000  0.00463
            Cache Misses:          0.00000  0.04277
            Cache Hits:            0.00000  0.08265
            Near Hits:             0.00000  0.00286
            Not-Modified Replies:  0.00000  0.00000
            DNS Lookups:           0.00000  0.00000
            ICP Queries:           0.00000  0.00000
    Resource usage for squid:
            UP Time:        3965.980 seconds
            CPU Time:       4.601 seconds
            CPU Usage:      0.12%
            CPU Usage, 5 minute avg:        0.02%
            CPU Usage, 60 minute avg:       0.12%
            Process Data Segment Size via sbrk(): 3692 KB
            Maximum Resident Size: 79968 KB
            Page faults with physical i/o: 1
    Memory accounted for:
            Total accounted:          474 KB   1%
            memPool accounted:        474 KB   1%
            memPool unaccounted:    38133 KB  99%
            memPoolAlloc calls:    225264
            memPoolFree calls:     228120
    File descriptor usage for squid:
            Maximum number of file descriptors:   65535
            Largest file desc currently in use:     17
            Number of file desc currently in use:   10
            Files queued for open:                   0
            Available number of file descriptors: 65525
            Reserved number of file descriptors:   100
            Store Disk files open:                   0
    Internal Data Structures:
               149 StoreEntries
                27 StoreEntries with MemObjects
                26 Hot Object Cache Items
               122 on-disk objects
  • 相关阅读:
    《算法竞赛入门经典》—— 5.2.6 栈、队列与优先队列
    《算法:C语言实现》—— 第二部分 —— 第3章 —— 基本数据结构
    《算法:C语言实现》—— 第二部分 —— 第3章 —— 基本数据结构
    《算法:C语言实现》—— 第二部分 —— 第3章 —— 基本数据结构
    Broken Keyboard (a.k.a. Beiju Text)
    Broken Keyboard (a.k.a. Beiju Text)
    Broken Keyboard (a.k.a. Beiju Text)
    mongodb实战聚合 组内排序
    mongodb实战聚合 组内排序
    MongoDB基础篇:MongoDB Shell命令大全
  • 原文地址:https://www.cnblogs.com/wangxiaoqiangs/p/5796624.html
Copyright © 2011-2022 走看看