微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

logstash日志收集走过的坑

问题1:OOM内存溢出

背景介绍,通常对logstash的应用,是logstash日志收集日志然后写入到kafka,因为logstash本身是插件化,所以就会应用到kafka-output-plugin,该插件直接调用的kafka-client的包。

回归正题,什么时候回出现OOM呢,当单条日志大于1M时,此时kafka-client源码中会拒绝该日志的接收,logstash在向kafka发送日志时,如果发送不成功,会继续重试(可以通过修改配置文件调整重试次数)。

解决办法:日志规范的修改,或者将大于1M的日志过滤掉。

问题2:日志收集慢,占用cpu或内存高

这个问题对于logstash本身采用Jruby语言编写有关,当然如果你安装的logstash是6之前的版本。那么其性能本身会差很多。如果采用6以后的版本,无论吞吐率,还是cpu和内存消耗,都会好很多(采用异步队列)

问题3:日志重复收集

   情况1:当采用logstash-5.4.3版本,但输入插件升级到最新版本时,在rotation的时候回重复收集数据。

   情况2:input插件采用老版本时,由于sincedb保存文件的时候是通过inode标识的。新版的是通过inode及文件路径+名的形式记录,不会重复。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐