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和内存消耗,都会好很多(采⽤异步队列)
kafka最新版本问题3:⽇志重复收集
情况1:当采⽤logstash-5.4.3版本,但输⼊插件升级到最新版本时,在rotation的时候回重复收集数据。
情况2:input插件采⽤⽼版本时,由于sincedb保存⽂件的时候是通过inode标识的。新版的是通过inode及⽂件路径+名的形式记录,不会重复。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论