具有较高CPU使用率的logstash kafkainputfilter

我遇到了一个问题,即kafka logstashpipe道消耗太多cpu(启动时约为300%,几秒钟后达到100%),但基本上可以工作:pipe道可以将事件以kafka的forms传递到elasticsearch,而不会出现错误消息

logstash运行在Docker容器中,并带有最新版本的lostash(2.1.1,从https://hub.docker.com/_/logstash/中拉出)。

docker run --rm --link kafka:kafka --link elasticsearch:elasticsearch -v "$PWD":/config-dir logstash logstash -f /config-dir/logstash-kafka-elasticsearch.conf 

configuration文件是这样的:

 input { kafka { topic_id => 'mytopic' zk_connect => 'kafka:2181' } } output { elasticsearch { hosts=> ['elasticsearch:9200'] } stdout { codec => rubydebug } } 

我有其他的logstashpipe道工作正常,并且cpu的使用也是正常的(例如一个pipe道使用http中,kafka作为out,占用〜0%cpu)。 我试图注释掉elasticsearch的输出,只留下stdout,问题依然存在,所以弹性search似乎没有问题。

任何机构会提供build议?

logstash-input-kafka插件在紧密的循环中有一个错误,它不必要地检查一个空的队列,而跳到下一个迭代而不是阻塞。

这已经被固定在这个拉取请求中,插件的2.0.3版本已经发布了。

要testing这个,请使用以下方式更新插件:

bin / plugin install –version 2.0.3 logstash-input-kafka