rsyslogd写日志丢失的问题已经解决

一.rsyslogd写日志丢失的问题

经常会遇到rsyslogd保存日志时丢失的问题,打印如下:
Nov 18 01:58:53 XXXX rsyslogd: imjournal: 28062 messages lost due to rate-limiting
原来是rsyslogd限制了打印的信息长度。

解决方案:
echo ‘$SystemLogRateLimitInterval 1’ >> /etc/rsyslog.conf
echo ‘$SystemLogRateLimitBurst 3000’ >> /etc/rsyslog.conf
重启rsyslog
/etc/init.d/rsyslog resart

二.rsyslog的Rate Limit配置
所谓Rate limit就是指,在某个固定的时间段内,syslog最多允许打印的log信息数量(多出的log信息将被丢弃)。由配置文件/etc/rsyslog.conf中以下两个配置项决定:
$SystemLogRateLimitInterval [Number1]: Number1 为设定的限制的时间间隔大小
$SystemLogRateLimitBurst [Number2]: Number2 为在设定的限制的时间间隔内,最多输出的log信息数量。
在设定完后,则表示在每一个Number1时间间隔内,如果超过Number2个数的log信息将会被去除。默认Number1为5秒钟,Number2为200.但如果我们不希望,在打印的log时有丢失,则可以在/etc/rsyslog.conf中添加或者设置:
$SystemLogRateLimitInterval 0  
当然设置完成后,一定要记得重新启动rsyslog服务(/etc/init.d/rsyslog resart或者service rsyslog restart)
Note:rsyslog 5.7.1之后的版本才添加了此功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章