方法一:
使用logrotate,也是我使用中觉得最好用的工具了。我们在使用rsyslog收集时,发现logrotate按小时切割后,rsyslog就不会再发送日志了,通过rsyslog debug和日志文件的观察,发现日志切割后,inode没有改变,但日志文件改变了大小,导致rsyslog无法重新记录iCurrOffs
解决方法:在子imfile配置中添加配置:
<code>reopenOnTruncate=</code><code>"on"</code>
官方解释reopenOnTruncate
<a href="http://www.rsyslog.com/doc/master/configuration/modules/imfile.html" target="_blank">http://www.rsyslog.com/doc/master/configuration/modules/imfile.html</a>
方法二:
查看版本,是否匹配。
<code>#rpm -qa | grep rsyslog</code>
作者就是因为在测试环境用8.X版,生产环境是5.X版本结果导致8.X配置文件在5.X上死活不提交日志。
参考文章:
<a href="http://www.elain.org/2016/04/26/ELK%E5%AE%9E%E6%88%98%E4%BA%8C%EF%BC%9A%E6%97%A5%E5%BF%97%E6%94%B6%E9%9B%86%E5%88%A9%E5%99%A8rsyslog/" target="_blank">http://www.elain.org/2016/04/26/ELK实战二:日志收集利器rsyslog/</a>
本文转自 piazini 51CTO博客,原文链接:http://blog.51cto.com/wutou/1787250