Docker 高cpu使用率的logstash kafka输入过滤器
我遇到了一个问题,kafka logstash管道消耗了太多的cpu(启动时约为300%,几秒钟后为100%),但基本上它是工作的:该管道可以将kafka中的事件传递到elasticsearch中,而没有错误消息 logstash在docker容器中运行,具有最新版本的lostash(2.1.1,pull-from) 配置文件如下所示:Docker 高cpu使用率的logstash kafka输入过滤器,docker,logstash,apache-kafka,Docker,Logstash,Apache Kafka,我遇到了一个问题,kafka logstash管道消耗了太多的cpu(启动时约为300%,几秒钟后为100%),但基本上它是工作的:该管道可以将kafka中的事件传递到elasticsearch中,而没有错误消息 logstash在docker容器中运行,具有最新版本的lostash(2.1.1,pull-from) 配置文件如下所示: input { kafka { topic_id => 'mytopic' zk_connect
input {
kafka {
topic_id => 'mytopic'
zk_connect => 'kafka:2181'
}
}
output {
elasticsearch {
hosts=> ['elasticsearch:9200']
}
stdout { codec => rubydebug }
}
我有其他logstash管道,它工作良好,cpu使用也很正常(例如,管道使用http作为in,kafka作为out,占用约0%的cpu)。
我试图对elasticsearch的输出进行注释,只留下标准输出,问题仍然存在,因此elasticsearch似乎没有问题
有人会提出建议吗 logstash input kafka插件的紧密循环中有一个bug,它不必要地检查了一个空队列,并跳转到下一个迭代,而不是阻塞 这已在和2.0.3版的插件中修复 要测试这一点,请使用以下方法更新插件: bin/插件安装——版本2.0.3 logstash input kafka
谢谢你的更新,通过更新插件,问题已经解决了。
input {
kafka {
topic_id => 'mytopic'
zk_connect => 'kafka:2181'
}
}
output {
elasticsearch {
hosts=> ['elasticsearch:9200']
}
stdout { codec => rubydebug }
}