rsyslog打印会丢失log的问题

今天遇到打印到rsyslog的log信息有丢失的问题,一直查log代码本身的是否有问题和验证确认是否丢失。忽略了使用rsyslog的错误会有系统log,最后查看syslog,( /var/log/messages),发现里面有丢log的信息:
Nov 29 13:21:05 yx116 rsyslogd-2177: imuxsock begins to drop messages from pid 26054 due to rate-limiting
Nov 29 13:21:11 yx116 rsyslogd-2177: imuxsock lost 5763 messages from pid 26054 due to rate-limiting

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

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

ref:
http://navyaijm.blog.51cto.com/4647068/1212042
http://www.linuxdiyf.com/linux/23153.html

你可能感兴趣的:(Linux,Server,Ops)