简介:

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. java获取服务器的ip和地址

    HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = "http://" ...

  2. 用eclipse运行java程序显示找不到main class,网上的方法都试了,还是不行,有没有知道怎么解决的呀!

    编译器问题,jdk版本不对,Window --> Preferences -->Java --> compiler中的compiler compliance level,这里选你当前 ...

  3. Python 实现汉诺塔问题(递归)

    有三根柱子一次为A,B,C 现在A柱子上有3个块,按照汉诺塔规则移动到C柱子上去,打印步骤? 我们这样理解:A为原始柱,C为目标柱,B为缓冲柱 1.定义一个函数move(n,a,b,c),n为原始柱上 ...

  4. grpc xservice 使用

    1. 安装(此处比较简单) dep 包管理 配置环境变量 GOPATH/bin GO/bin protoc 下载并配置环境变量 2. xservice 安装 a. 预备(一些需要的依赖) mkdir ...

  5. Gixy Nginx 配置分析工具

    项目简介 Gixy 是一款用来分析 Nginx 配置的工具. Gixy 的主要目标是防止安全配置错误,并自动进行缺陷检测. 目前支持的 Python 版本是 2.7 和 3.5+ . 免责声明:Gix ...

  6. vuejs2.0的生命周期解读

    每个 Vue 实例在被创建之前都要经过一系列的初始化过程.例如,实例需要配置数据观测(data observer).编译模版.挂载实例到 DOM ,然后在数据变化时更新 DOM .下图展示的就是一个v ...

  7. 题目1413:神秘元素 ——lis的元素是否唯一

    求序列的最长子序列中不可分割元素的数目.不可分割元素,肯定属于某一个最长子序列,首先做的就是把属于最长子序列的数提取出来,减小查找范围.怎么提取?可以用LIS(最长递增子序列)和LDS(最长递减子序列 ...

  8. Python库-re(正则表达式)

    re库是python的一个标准库,不需要自己用pip额外下载,直接调用即可. 下面介绍以下库中函数的作用. 1.re.compile(patter, flags=0) patter是一个正则表达式字符 ...

  9. java项目-----客户端与客户端通信--实现群聊功能的代码

    这是这个网络聊天室项目的原理图: 很简单,首先ABCD是4个客户端,当A发送信息给服务器,服务器实现以广播的形式把信息全发给每个人---群发群聊 客户端代码: package com.aa; impo ...

  10. Java 静态对象 static

    什么是静态变量 大家都知道,我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立. 然而在某些时候,我们更希望该类所有的对象共享同一个成员.此时就是 static 大显身手的时候了 ...