方法一:
使用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/