简介:

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

## 这是 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. /var/log/squid/access.log. /var/log/squid/access.log.
/var/log/squid/access.log. /var/log/squid/access.log. /var/log/squid/access.log. /var/log/squid/access.log.

shell > ls /var/log/squid/cache.log*
/var/log/squid/cache.log /var/log/squid/cache.log. /var/log/squid/cache.log. /var/log/squid/cache.log.
/var/log/squid/cache.log. /var/log/squid/cache.log. /var/log/squid/cache.log. /var/log/squid/cache.log.

shell > ls /var/log/squid/store.log*
/var/log/squid/store.log /var/log/squid/store.log. /var/log/squid/store.log. /var/log/squid/store.log.
/var/log/squid/store.log. /var/log/squid/store.log. /var/log/squid/store.log. /var/log/squid/store.log.

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

二、日志分析

/var/log/squid/access.log

## 时间戳          默认以 UTC -- :: 到现在的秒数表示,显示为毫秒
响应时间 处理所用时间,毫秒
客户端地址 客户端 IP 地址
结果码/状态码 结果码表示 Squid 专有的编码,如 TCP_HIT 、UDP_DENIED 等,状态码是 HTTP 的响应代码,如 、、、 等
传输 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 ## 请求资源可能是旧的缓存,发送确认请求到原始服务器,原始服务器返回 未修改响应,指示 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  mgr:info

HTTP/1.0  OK
Server: squid/3.1.
Mime-Version: 1.0
Date: Wed, Jan :: GMT
Content-Type: text/plain
Expires: Wed, Jan :: GMT
Last-Modified: Wed, Jan :: GMT
X-Cache: MISS from study.localhost.localdomain
X-Cache-Lookup: MISS from study.localhost.localdomain:
Via: 1.0 study.localhost.localdomain (squid/3.1.)
Connection: close Squid Object Cache: Version 3.1.
Start Time: Wed, Jan :: GMT
Current Time: Wed, Jan :: GMT
Connection information for squid:
Number of clients accessing cache:
Number of HTTP requests received:
Number of ICP messages received:
Number of ICP messages sent:
Number of queued ICP replies:
Number of HTCP messages received:
Number of HTCP messages sent:
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: 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: KB ## 缓存目录大小
Storage Swap capacity: 0.7% used, 99.3% free
Storage Mem size: KB ## 缓存内存大小
Storage Mem capacity: 0.0% used, 100.0% free
Mean Object Size: 255.97 KB
Requests given to unlinkd:
Median Service Times (seconds) min 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, minute avg: 0.02%
CPU Usage, minute avg: 0.12%
Process Data Segment Size via sbrk(): KB
Maximum Resident Size: KB
Page faults with physical i/o:
Memory accounted for:
Total accounted: KB %
memPool accounted: KB %
memPool unaccounted: KB %
memPoolAlloc calls:
memPoolFree calls:
File descriptor usage for squid:
Maximum number of file descriptors:
Largest file desc currently in use:
Number of file desc currently in use:
Files queued for open:
Available number of file descriptors:
Reserved number of file descriptors:
Store Disk files open:
Internal Data Structures:
StoreEntries
StoreEntries with MemObjects
Hot Object Cache Items
on-disk objects

Squid 代理服务器日志管理的更多相关文章

  1. CentOS 7 Squid代理服务器正向代理-透明代理

    Squid是Linux系统中最常用的一款开源代理服务软件,主要提供缓存加速和应用层过滤控制的功能,可以很好的实现HTTP.FTP.DNS查询以及SSL等应用的缓存代理 透明代理:提供与传统代理相同的功 ...

  2. Squid代理服务器

    缓存代理概述:做为应用层的代理服务软件,squid主要提供缓存加速,应用层过滤控制的功能. 1.代理的工作机制 当客户机通过代理来请求web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有 ...

  3. Squid服务日志分析

    Squid服务日志分析 Apache 和 Squid 是两种著名的代理缓存软件,但Squid 较 Apache 而言是专门的代理缓存服务器软件,其代理缓存的功能强大,支持 HTTP/1.1 协议,其缓 ...

  4. CentOS 6.4下Squid代理服务器的安装与配置,反向代理

    CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...

  5. CentOS 7安装squid代理服务器

    Squid,一个高性能的代理缓存服务器,支持FTP.gopher.HTTP协议. Squid,一个缓存Internet 数据的软件,其接收用户的下载申请(作为代理服务器),并自动处理所下载的数据,并返 ...

  6. 19、Squid代理服务器

    第十九章,配置Squid服务器 一.代理服务器简介 19.1.1:什么是代理服务器 代理服务器的功能就是代理网络用户去取的网络信息,好比是网络信息的中转站,大多被用来连接互联网和局域网.代理服务器好像 ...

  7. 构建squid代理服务器

    基本概念 本文使用squid代理服务 软件介绍:百度百科 作为应用层的代理服务软件,Squid主要提供缓存加速.应用层过滤控制的功能: 工作机制:缓存网页对象,减少重复请求(HTTP代理的缓存加速对象 ...

  8. squid 代理服务器应用

    squid 代理服务器应用 1.Squid 代理服务器 : Squid 主要提供缓存加速.应用层过滤控制的功能.  代理的工作机制: 代替客户机向网站请求数据,从而可以隐藏用户的真实IP地址. 将获得 ...

  9. Squid代理服务器应用

    Squid代理服务器应用 目录 Squid代理服务器应用 一.Squid的脚本概念 1. Squid的作用 2. Web代理的工作机制 3. 代理服务器的概念 4. 代理服务器的作用 5. 代理的基本 ...

随机推荐

  1. Servlet传统配置方式和Servlet3.0使用注解的方式

    一.Servlet的传统配置方式 在JavaWeb开发中, 每次编写一个Servlet都需要在web.xml文件中进行配置,如下所示: <servlet> <servlet-name ...

  2. 【2018.06.26NOIP模拟】T2号码bachelor 【数位DP】*

    [2018.06.26NOIP模拟]T2号码bachelor 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质 ...

  3. Excel VBA to Interact with Other Applications

    转载自:https://analysistabs.com/excel-vba/interact-with-other-applications/ Interact with PowerPoint fr ...

  4. 利用 ReSharper 自定义代码中的错误模式,在代码审查之前就发现并修改错误

    多人协作开发的项目总会遇到代码编写风格上的差异.一般工具都能帮我们将常见的差异统一起来——例如 if 的换行:但也有一些不那么通用,但项目中却经常会出现的写法也需要统一. 例如将单元测试中的 Asse ...

  5. Sprint第一个冲刺(第八天)

    一.Sprint介绍 完善点餐界面,点击进行跳转. 实验截图: 任务进度: 二.Sprint周期 看板: 燃尽图:

  6. 自己定义一个tab指令

    定义一个tab切换的指令: 指令的文件结构: Js/directives/tab tab.html tab.js tab.html: <style> .my-li-style{ line- ...

  7. SpringBoot中RedisTemplate订阅发布对象

    解说 RedisMessageListenerContainer Redis订阅发布的监听容器,你的消息发布.订阅配置都必须在这里面实现 addMessageListener(MessageListe ...

  8. Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用

    在eclipse中用pydev开发Python脚本时,我遇到了一个这样的现象,当我新建一个pydev package时,总会自动地生成一个空的__init__.py文件,因为是python新手,所以很 ...

  9. TCP三次握手和四次挥手、HTTP协议

    TCP三次握手和四次挥手 首先我们知道HTTP协议通常承载于TCP协议之上,HTTPS承载于TLS或SSL协议层之上 通过上面这张图我们能够知道.     在Http工作之前,Web浏览器通过网络和W ...

  10. 高效网页去重算法-SimHash

    记得以前有人问过我,网页去重算法有哪些,我不假思索的说出了余弦向量相似度匹配,但如果是数十亿级别的网页去重呢?这下糟糕了,因为每两个网页都需要计算一次向量内积,查重效率太低了!我当时就想:论查找效率肯 ...