前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C3-Squid-access.log

C3-Squid-access.log

作者头像
py3study
发布2020-01-08 15:10:08
8290
发布2020-01-08 15:10:08
举报
文章被收录于专栏:python3python3

C3-Squid-access.log

拓扑:

代码语言:javascript
复制
DNS      10.0.100.71 
Haproxy  10.0.100.82 
Squid    10.0.100.72/73 
Nginx    10.0.100.75/76 
NFS      10.0.100.70 
 
DNS 
  |     (static) 
Haproxy  ------>  Squid.72/73 (origin server Nginx.75/76) 
  |(dynamic) 
Nginx 
  | 
NFS 

1 以下是3天的 squid access.log,平均每天的access.log 为1.4GB

代码语言:javascript
复制
du -sh * 

1.3G    squid.log 1.5G    squid.log.0 1.6G    squid.log.1 2 排序 access.log

代码语言:javascript
复制
awk '{print $NF}' squid.log | sort | uniq -c | sort -rn 

2459793 TCP_MEM_HIT:NONE  843948 TCP_IMS_HIT:NONE  200753 TCP_MISS:DIRECT   23537 TCP_HIT:NONE    8112 TCP_NEGATIVE_HIT:NONE    2481 TCP_REFRESH_HIT:DIRECT    1838 TCP_REFRESH_MISS:DIRECT    1215 TCP_DENIED:NONE       1 TCP_MISS:NONE

3 access.log 例子 #TCP_MISS:ROUNDROBIN_PARENT cache01 192.168.4.33 - - [19/Jul/2012:15:29:42 +0800] "GET http://blog.test.com/wp-content/uploads/2012/07/DSCN0798-1024x768.jpg HTTP/1.1" 200 212299 "htt    p://blog.test.com/?p_w_upload_id=88" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:ROUNDROBIN_PARENT cache02 - - - [19/Jul/2012:15:29:43 +0800] "ICP_QUERY http://blog.test.com/wp-content/uploads/2012/07/DSCN0798-1024x768.jpg HTTP/0.0" 0 90 "-" "-" UDP_MI     SS:NONE nginx02 10.0.100.72 - - [19/Jul/2012:15:29:47 +0800] "GET /wp-content/uploads/2012/07/DSCN0798-1024x768.jpg HTTP/1.0" 200 211931 "http://blog.test.com/?a     ttachment_id=88" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 192.168.4.33, 10.0.100.82 #TCP_MISS:SIBLING_HIT cache01 192.168.4.33 - - [19/Jul/2012:14:25:09 +0800] "GET http://blog.test.com/wp-content/uploads/2012/07/squid-linjun11-300x100.png HTTP/1.1" 304 373 "http://blog.test.com/?p=66" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:SIBLING_HIT cache02 192.168.4.33,%2010.0.100.82 - - [19/Jul/2012:14:25:10 +0800] "GET http://blog.test.com/wp-content/uploads/2012/07/squid-linjun11-300x100.png HTTP/1.0" 304 291 "http://blog.test.com/?p=66" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_IMS_HIT:NONE #UDP_MISS:NONE cache01 - - - [20/Jul/2012:09:48:12 +0800] "ICP_QUERY http://monitor.test.com/icons/apache_pb.gif HTTP/0.0" 0 64 "-" "-" UDP_MISS:NONE 192.168.4.33 - - [20/Jul/2012:09:48:12 +0800] "GET http://monitor.test.com/icons/powered_by_rh.png HTTP/1.1" 404 406 "http://monitor.test.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:ROUNDROBIN_PARENT cache02 - - - [20/Jul/2012:09:48:12 +0800] "ICP_QUERY http://monitor.test.com/icons/powered_by_rh.png HTTP/0.0" 0 68 "-" "-" UDP_MISS:NONE 192.168.4.33 - - [20/Jul/2012:09:48:12 +0800] "GET http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 404 406 "http://monitor.test.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" TCP_MISS:ROUNDROBIN_PARENT nginx02 10.0.100.72 - - [20/Jul/2012:09:48:16 +0800] "GET /icons/powered_by_rh.png HTTP/1.0" 404 162 "http://monitor.test.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 192.168.4.33, 10.0.100.82 #TCP_NEGATIVE_HIT:NONE cache01 192.168.4.33 - - [20/Jul/2012:14:39:47 +0800] "HEAD http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 404 334 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" TCP_NEGATIVE_HIT:NONE 192.168.4.33 - - [20/Jul/2012:14:39:48 +0800] "HEAD http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 200 342 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" TCP_MISS:ROUNDROBIN_PARENT 192.168.4.33 - - [20/Jul/2012:14:39:49 +0800] "HEAD http://monitor.test.com/icons/apache_pb.gif HTTP/1.1" 200 350 "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" TCP_MEM_HIT:NONE apache01 //X-Forwarded-For请求头,多个ip用','分割这里的192.168.4.33 是client ip,10.0.100.82 是haproxy ip。 192.168.4.33, 10.0.100.82 - - [20/Jul/2012:14:39:17 +0800] "HEAD /icons/apache_pb.gif HTTP/1.0" 200 - "-" "curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3" //TCP_NEGATIVE_HIT 参数 设置缓存错误页面时间 negative_ttl negative_ttl 5 minutes

4 access 编码解释

4.1 access.log 结果编码

代码语言:javascript
复制
TCP_HIT           //Squid 发现请求资源的貌似新鲜的拷贝,并将其立即发送到客户端。 
TCP_MISS          //Squid 没有请求资源的 cache 拷贝。 
TCP_REFERSH_HIT   //Squid 发现请求资源的貌似陈旧的拷贝,并发送确认请求到原始服务器。 
                  //原始服务器返回 304(未修改)响应,指示 squid 的拷贝仍旧是新鲜的。 
TCP_REF_FAIL_HIT  //Squid 发现请求资源的貌似陈旧的拷贝,并发送确认请求到原始服务器。 
                  //然而,原始服务器响应失败,或者返回的响应 Squid 不能理解。 
                  //在此情形下,squid 发送现有 cache 拷贝(很可能是陈旧的)到客户端。 
TCP_REFRESH_MISS  //Squid 发现请求资源的貌似陈旧的拷贝,并发送确认请求到原始服务器。 
                  //原始服务器响应新的内容,指示这个 cache 拷贝确实是陈旧的。 
TCP_CLIENT_REFRESH_MISS  //Squid 发现了请求资源的拷贝,但客户端的请求包含了 Cache-Control: no-cache 指令。 
                         //Squid转发客户端的请求到原始服务器,强迫 cache 确认。 
TCP_IMS_HIT        //客户端发送确认请求,Squid 发现更近来的、貌似新鲜的请求资源的拷贝。 
                   //Squid 发送更新的内容到客户端,而不联系原始服务器。 
TCP_SWAPFAIL_MISS  //Squid 发现请求资源的有效拷贝,但从磁盘装载它失败。 
                   //这时 squid 发送请求到原始服务器,就如同这是个 cache 丢失一样。 
TCP_NEGATIVE_HIT   //在对原始服务器的请求导致 HTTP 错误时,Squid 也会 cache 这个响应。 
                   //在短时间内对这些资源的重复请求,导致了否命中。negative_ttl 指令控制这些错误被 cache 的时间数量。 
                   //请注意这些错误只在内存 cache,不会写往磁盘。下列 HTTP 状态码可能导致否定 cache(也遵循于其他约束) 
                   // 204, 305, 400, 403, 404, 405, 414, 500, 501, 502, 503, 504。 
TCP_MEM_HIT        //Squid 在内存 cache 里发现请求资源的有效拷贝,并将其立即发送到客户端。注意这点并非 
                   //精确的呈现了所有从内存服务的响应。例如,某些 cache 在内存里,但要求确认的响应, 
                   //会以 TCP_REFRESH_HIT, TCP_REFRESH_MISS 等形式记录。 
TCP_DENIED         //因为 http_access 或 http_reply_access 规则,客户端的请求被拒绝了。 
                   //注意被 http_access 拒绝的请求在第 9 域的值是 NONE/-,然而被 http_reply_access 拒绝的请求,在相应地方有一个有效值。 
TCP_OFFLINE_HIT    //当 offline_mode 激活时,Squid 对任何 cache 响应返回 cache 命中,而不用考虑它的新鲜程度。 
TCP_REDIRECT       //重定向程序告诉 Squid 产生一个 HTTP 重定向到新的 URI(见 11.1 节)。正常的,Squid 不会记录这些重定向。 
                   //假如要这样做,必须在编译 squid 前,手工定义 LOG_TCP_REDIRECTS预处理指令。 
NONE               //无分类的结果用于特定错误,例如无效主机名。 
 
#ICP 查询。 
UDP_HIT            //Squid 在 cache 里发现请求资源的貌似新鲜的拷贝。 
UDP_MISS           //Squid 没有在 cache 里发现请求资源的貌似新鲜的拷贝。假如同一目标通过 HTTP 请求, 
                   //就可能是个 cache 丢失。请对比 UDP_MISS_NOFETCH。 
UDP_MISS_NOFETCH   //跟 UDP_MISS 类似,不同的是这里也指示了 Squid 不愿去处理相应的 HTTP 请求。 
                   //假如使用了-Y 命令行选项,Squid 在启动并编译其内存索引时,会返回这个标签而不是 UDP_MISS。 
UDP_DENIED         //因为 icp_access 规则,ICP 查询被拒绝。假如超过 95%的到某客户端的 ICP 响应是UDP_DENIED, 
                   //并且客户端数据库激活了(见附录 A),Squid 在 1 小时内,停止发送任何ICP 响应到该客户端。 
                   //若这点发生,你也可在 cache.log 里见到一个警告。 
UDP_INVALID        //Squid 接受到无效查询(例如截断的消息、无效协议版本、URI 里的空格等)Squid 发送UDP_INVALID 响应到客户端。 

4.2 access.log 对端编码

代码语言:javascript
复制
NONE              //这指明 Squid 对本次请求,不会与任何其他服务器(邻居或原始服务器)通信。 
                  //它通常与 cache命中、拒绝请求、cache 管理请求、错误、和所有的 ICP 查询这些类型联合出现。 
DIRECT            //Squid 直接转发请求到原始服务器。该域的第 2 半部分显示原始服务器的 IP 地址,或主机名。 
SIBLING_HIT       //在姐妹 cache 返回 ICP 或 HTCP 命中后,Squid 发送请求到姐妹 cache。 
PARENT_HIT        //在父 cache 返回 ICP 或 HTCP 命中后,Squid 发送请求到父 cache。 
DEFAULT_PARENT    //Squid 选择该父 cache,因为其在 squid.conf 的 cache_peer 行里被标志为 default。 
FIRST_UP_PARENT   //Squid 转发请求到该父 cache,因为它是位于已知活跃列表里的第一个父 cache。 
FIRST_PARENT_MISS //Squid 转发请求到该父 cache,它第一个响应 ICP/HTCP 丢失消息。换句话说,对这个特殊的 
                  //ICP/HTCP 查询,在这个特殊时刻,被选中的父 cache 有最佳的往返时间(RTT)。 
                  //注意标准RTT 可能被人工矫正过,取决于 cache_peer 指令的 weight 选项。 
CLOSEST_PARENT_MISS 
                  //Squid 选择该父 cache,因为它报告到原始服务器的 RTT 最低。这点仅在 2 个 cache 都激活 
                  //了 netdb,并且原始服务器(或在同一子网内的其他 server)返回 ICMP ping 消息。 
CLOSEST_PARENT    //这点类似 CLOSEST_PARENT_MISS,除了 RTT 计算不是来自 ICP/HTCP 响应消息外。 
                  //代替的,它们来自 Squid 保留的更老的计算方式,例如 netdb 交换功能。 
CLOSEST_DIRECT    //Squid 基于 netdb 算法,转发请求到原始服务器。这点在满足下述任何条件时发生: 
                  //1)在 Squid 和原始服务器之间的 RTT 小于配置的 minimum_direct_rtt 值。 
                  //2)在 Squid 和原始服务器之间的标准路由跳数少于配置的 minimum_direct_hops 值。 
                  //3)在 ICP/HTCP 响应里返回的 RTT 值,指示 Squid 离原始服务器近于任何其他邻居。 
ROUNDROBIN_PARENT 
                  //Squid 转发请求到该父 cache,因为设置了 round-robin 选项,并且它有最低的使用计数器。 
CD_PARENT_HIT     //Squid 基于 cache 摘要算法(见 10.7 节)转发请求到该父 cache。 
CD_SIBLING_HIT    //Squid 基于 cache 摘要算法转发请求到该姐妹 cache。 
CARPS             //quid 选择该父 cache,基于 cache 数组路由协议算法(见 10.9 节) 
ANY_PARENT        //作为最后的手段,Squid 选择该父 cache,因为没有其他方法能选择可行的下一跳。 
                  //注意大部分上述编码可能以 TIMEOUT_开头,这表明在等待 ICP/HTCP 响应时发生超时。 
例如: 
1066038165.382 345 193.233.46.21 TCP_MISS/200 2836 GET http://www.caida.org/home/p_w_picpaths/home.jpg \
TIMEOUT_CLOSEST_DIRECT/213.219.122.19 p_w_picpath/jpeg 
可使用 icp_query_timeout 指令来调整超时。 

参考 Squid 中文权威指南 http://home.arcor.de/pangj/squid/ squid 否定缓存 negative_ttl 实测和总结 http://www.sealinger.com/archives/383/ C1-Squid_Cache-Server http://dngood.blog.51cto.com/446195/939524 C2-Squid_Neighbour http://dngood.blog.51cto.com/446195/955710 结束 更多请: linux 相关 37275208 vmware 虚拟化相关  166682360

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档