方法一:

使用logrotate,也是我使用中觉得最好用的工具了。我们在使用rsyslog收集时,发现logrotate按小时切割后,rsyslog就不会再发送日志了,通过rsyslog debug和日志文件的观察,发现日志切割后,inode没有改变,但日志文件改变了大小,导致rsyslog无法重新记录iCurrOffs
解决方法:在子imfile配置中添加配置:

reopenOnTruncate="on"

官方解释reopenOnTruncate

http://www.rsyslog.com/doc/master/configuration/modules/imfile.html


方法二:

查看版本,是否匹配。

#rpm -qa | grep rsyslog

作者就是因为在测试环境用8.X版,生产环境是5.X版本结果导致8.X配置文件在5.X上死活不提交日志。


参考文章:

http://www.elain.org/2016/04/26/ELK实战二:日志收集利器rsyslog/