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及文件路径+名的形式记录,不会重复。

猜你喜欢

转载自blog.csdn.net/wuhaitong12/article/details/88531947