我在用rsyslog v5.8.11
。我从重新启动时的日志中找到了这个版本号rsyslog
。我正在尝试应用速率限制,rsyslog
但没有用。我仍然丢失消息。在配置文件中我放置了这些选项来实现速率限制
$SystemLogRateLimitInterval 5
$SystemLogRateLimitBurst 10000
这是没有用的,因为我仍然以相同的速度丢失消息。我什至尝试把
$SystemLogRateLimitInterval 0
这应该已经停止了速率限制功能,rsyslog
但什么也没发生。我仍然失去消息。这些日志对我来说至关重要。有什么办法可以阻止丢失消息rsyslog
。
更新
重新启动时我还在 rsyslog 日志中发现了这一点。
rsyslogd: invalid selector line (port), probably not doing what was intended
丢失日志是否与此错误有关。
有日志显示我由于速率限制而丢失日志。
rsyslogd-2177: imuxsock begins to drop messages from pid 25810 due to rate-limiting
rsyslogd-2177: imuxsock lost 103 messages from pid 25810 due to rate-limiting
无论我应用什么设置,都会出现此类日志。如果由于 UDP 导致日志丢失,rsyslog 也会以这种方式记录吗?
答案1
您可能正在使用 debian wheezy,因为该 debian 版本使用 rsyslog v5.8.11。
升级到 debian jesie 或从 debian-backports 安装 rsyslog 来修复此问题。
喘息的 rsyslog 有一个错误,不会禁用速率限制,但新版本将读取配置并(最终)禁用速率限制。
答案2
如果您从输入读取日志imuxsock
,则速率限制不受$SystemLogRateLimitInterval
.
你必须使用:
$IMUXSockRateLimitInterval x
$IMUXSockRateLimitBurst y