systemd-journal 速率限制

Dav*_*vid 5 linux journald

我在 CentOS 7 上设置了一个服务,它会输出大量日志消息,这会导致系统日志/日志中出现以下内容:systemd-journal[xxxx]: Suppressed 864 messages from /system.slice/example.service

但是,我想查看所有服务消息以用于调试和诊断目的。此外,我想禁用速率限制,因为这只是一个测试服务器。

我已经在 /etc/systemd/journald.conf 中设置了RateLimitInterval=0RateLimitBurst=0,但 systemd-journal 似乎不遵守此设置。命令systemctl restart systemd-journald或系统重启似乎不起作用。

关于如何诊断这个问题有什么建议吗?是否有命令显示 systemd-journald 当前使用的配置?

U. *_*ndl 0

由于 syslog 的设计既不是为了处理非常大的消息,也不是为了处理连续的消息流,所以您应该考虑写入纯文本文件而不是使用 syslog 服务。

如果“消息”是调试类型的消息,则尤其如此。

此外,“速率限制”可能意味着两种不同的含义:

  • 您想要的消息数量输出的
  • 您可以输出的消息数

Journald.conf 的手册解释道:

如果在 定义的时间间隔内RateLimitIntervalSec=,服务记录的消息多于指定的消息RateLimitBurst=,则该间隔内的所有其他消息都将被丢弃,直到该间隔结束。

显然,您希望使其变得RateLimitIntervalSec相当小(例如 1 秒),同时又使其变得RateLimitBurst相当大(例如数百万,假设系统可以在不到一微秒的时间内处理系统日志消息)。