🔗 特性:Squid 的日志模块
- 目标:Squid 的日志插件接口
- 状态:正在寻求额外的守护进程辅助程序与 Squid 一起打包。
- 版本: 2.7, 3.2
- 开发者:AdrianChadd (Squid-2), Amos Jeffries (Squid-3 移植)
🔗 插件模块
日志模块是内置于 Squid 的 API,可以将日志信息以几种不同的格式传递给辅助程序。
通用 access_log 格式
access_log module:parameters [logformat] [acls]
- module:Squid 可以用来记录日志数据的插件模块之一。
- parameters:用于配置插件模块的参数。内容和格式因每个日志模块而异。
- logformat:将使用的 access.log 格式。有关更多详细信息,请参阅 logformat。
- acls:ACL 名称列表,如果所有命名的 ACL 都匹配一个请求,它将被记录到此日志中。
🔗 模块:标准 I/O
这是一个使用 Squid 将日志直接写入文件系统的传统 I/O 方法的模块。
由 access_log 使用的配置 module:parameters
stdio:/var/log/squid/access.log
用于向后兼容旧的 squid.conf。建议您升级到带有基本文件辅助程序的 daemon 模块以获得更好的性能。
🔗 模块:守护进程
这是一个模块,它运行一个辅助守护进程,将日志存储处理从 Squid 中卸载。
辅助守护进程程序通过 logfile_daemon 指令进行配置。
logfile_daemon /path/to/helper.binary
由 access_log 使用的配置 module:parameters
daemon:/var/log/squid/access.log
🔗 可用的守护进程辅助程序
- log_file_daemon:直接将日志记录到本地文件系统。
- log_db_daemon:直接将日志记录到 SQL 数据库。默认为 MySQL 后端。 http://www.mail-archive.com/squid-users@squid-cache.org/msg53342.html 或 http://sourceforge.net/projects/logmysqldaemon/
-
blooper :
- blooper 是一个 ruby logfile_daemon,可以记录到任何 SQL 数据库(Postgres 是其主要目标)
- 源代码可在 github 上获取:https://github.com/paranormal/blooper
🔗 守护进程消息协议
Squid 向日志守护进程发送许多命令。这些命令在每个输入行的第一个字节发送。
| ------------ | ------------------------------------------ |
| L\<data\>\\n | logfile data |
| R\\n | rotate file |
| T\\n | truncate file |
| O\\n | re-open file |
| F\\n | flush file |
| r\<n\>\\n | set rotate count to \<n\> |
| b\<n\>\\n | 1 = buffer output, 0 = don't buffer output |
不需要响应。任何可能需要的响应都应通过 stderr 进行,以便通过 cache.log 查看。
🔗 模块:系统日志
这是一个使用 syslog() API 的模块,用于将日志数据发送到任何接受该二进制格式记录的系统日志守护进程。
由 access_log 使用的配置 module:parameters
syslog:facility.priority
facility 和 priority 字段的格式与 syslog.conf 条目相同。有关可能的值,请参阅您的 syslog 配置文档。
syslog 使用 UDP,这可能会在网络负载过重或拥塞时丢弃数据包。
🔗 模块:UDP 接收器
这是一个使用 UDP 协议将日志行发送到外部守护进程或中央日志服务器的模块。
由 access_log 使用的配置 module:parameters
udp://host:port
由于是 UDP,该模块可能会在网络负载过重或拥塞时丢弃数据包。
🔗 模块:TCP 接收器
这是一个使用 TCP 协议将日志行发送到外部守护进程或中央日志服务器的模块。
由 access_log 使用的配置 module:parameters
tcp://host:port
导航:站点搜索,站点页面,类别,🔼 向上
Syslog-ng 可以直接接收这些日志。