禁用rsyslog速率限制
io流调试的时候遇到了丢日志问题,找了下解决方案,记录下来方便后面查看
rsyslogd[1480]: imjournal: 2666926 messages lost due to rate-limiting (20000 allowed within 600 seconds)
禁用rsyslog速率限制
Redhat / CentOS 6和其他Linux发行版使用rsyslog代替syslog。在rsyslogv.5中,默认情况下启用日志消息的速率限制。另外,systemd-journald对日志记录施加速率限制。这给调试带来了问题,因为我们在分析性能和问题时需要所有日志记录信息。关闭日志记录的速率限制,以确保记录了所有日志消息:
- /etc/systemd/journald.conf在文本编辑器中打开。
找到以下几行:
#RateLimitInterval = 30s
#RateLimitBurst = 1000
将它们更改为以下内容:
RateLimitInterval = 0
RateLimitBurst = 0
如果在RateLimitInterval定义的时间内收到的消息多于RateLimitBurst中指定的数量,则该间隔内的所有其他消息将被丢弃,直到间隔结束。
您可以根据需要修改这些值,也可以将两者都设置为0,以完全禁用系统日志日志记录速率限制。
保存您的更改并关闭文件。
重新启动systemd-journald:
$ systemctl restart systemd-journald
/etc/rsyslog.conf在文本编辑器中打开。
找到“全球指令”部分及其下的以下几行:
#禁用日志条目的速率限制
$ SystemLogRateLimitInterval 0
$ SystemLogRateLimitBurst 0
第一条消息指出,随着达到限制,消息将被丢弃,并且一旦间隔结束(默认情况下为10分钟),由于速率限制而丢失的消息量将被记录下来。
同样,您可以根据需要修改这些值,并且可以通过将它们都设置为0来完全禁用它们。
保存您的更改并关闭文件。
重新启动rsyslogd:
服务rsyslog重新启动(/etc/init.d/rsyslog重新启动)
或
$ systemctl restart rsyslog.service
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
