总结
imuxsock 是处理 Unix 套接字的模块的名称。
该模块管理从日志进程到 rsyslog 的 syslog 调用的传递。
该模块侦听 Unix 系统的日志套接字,并在它们发生时将日志消息提供给 rsyslog。
SystemLogRateLimitInterval 是为速率限制测量的时间量。
此参数的默认值设置为 5 秒。
SystemLogRateLimitBurst 定义了在 SystemLogRateLimitInterval 的时间限制内必须发生的消息数量,以触发速率限制。
默认参数值为 200 条消息。
$IMUXSockRateLimitBurst [number] 等效于: RateLimit.Burst ,指定消息数量的限速突发。
$IMUXSockRateLimitSeverity [数字严重性] 相当于: RateLimit.Severity ,指定消息的严重性。
"IMUxSockRate* "在 imuxsock 独立于 syssock 时是必需的,例如 SysSock.Use = "off" 。
"$IMUxSockRateLimitSeverity " 不是禁用速率限制所必需的,但只有在意外记录速率限制消息时才更好。
如何在 CentOS/RHEL 7 上禁用或者扩展系统日志记录速率限制
CentOS/RHEL 通常使用 rsyslogd 限速机制。
以下是由于 rsyslog 速率限制而记录在 /var/log/messages 中的消息示例。
Nov 9 10:22:32 localhost rsyslogd: imuxsock lost 432 messages from pid 9832 due to rate-limiting Nov 9 10:22:45 localhost rsyslogd: imuxsock begins to drop messages from pid 9832 due to rate-limiting
速率限制可防止日志记录使用过多级别的系统资源,并防止用不必要的消息淹没 /var/log/message。
要记录事件,需要将其写入使用系统资源的磁盘。
如果在特定时间段内记录到磁盘的重复事件过多,它们可能会淹没系统并导致更重要的服务响应缓慢甚至意外故障。
因此,通常不建议禁用速率限制,但有时出于诊断目的需要它。
按照下面给出的步骤禁用或者扩展 CentOS/RHEL 6 中的 rsyslogd 速率限制。
- 编辑 rsyslogd 配置文件 /etc/rsyslog.conf :
# vi /etc/rsyslog.conf
- 在“$ModLoad imuxsock”部分添加以下参数。
$SystemLogRateLimitInterval 0 $SystemLogRateLimitBurst 0 $IMUxSockRateLimitBurst 0 $IMUXSockRateLimitInterval 0 $IMUxSockRateLimitSeverity 7
- 重启 rsyslog 使更改生效:
# service rsyslog restart