[英]sebp/elk logstash cannot receive data with Kafka
根據logstash-logs,我正在使用https://hub.docker.com/r/sebp/elk/中的Docker ELK容器,一切正常且運行正常。
現在,我嘗試從Kafka接收數據並使用以下配置寫入ES:
input {
kafka {
topic_id => "collectortopic"
zk_connect => "172.17.0.2:2181"
type => "kafka-input"
}
}
output {
elasticsearch {
hosts => ["172.17.0.4:9200"]
codec => json
}
stdout {
codec => json
}
}
但是設置中的任何內容似乎都是錯誤的,因為我無法接收任何數據。 控制台中既沒有Logstash的輸出,也沒有Kibana中的任何數據,因為沒有創建logstash索引,根據插件文檔,這應該是默認行為。
我的Kafka設置很好,因為我可以與其他應用程序發送和接收數據,zk_connect也是正確的,因為否則我會遇到異常...
有任何想法嗎?
提前致謝!
PS:Kafka 0.9.1,Logstash 2.3.3,ES 2.3.3
您是否檢查過Logstash服務器是否可以與Kafka和Elasticsearch通信?
您可以使用此:
對於Elasticsearch:
curl 172.17.0.4:9200
如果您應該有一個類似的答案:
{
"name" : "inf01-log-els",
"cluster_name" : "inf01-log-els",
"version" : {
"number" : "2.2.1",
"build_hash" : "d045fc29d1932bce18b2e65ab8b297fbf6cd41a1",
"build_timestamp" : "2016-03-09T09:38:54Z",
"build_snapshot" : false,
"lucene_version" : "5.4.1"
},
"tagline" : "You Know, for Search"
}
對於kafka,您可以通過以下方法進行檢查:
telnet 172.17.0.2 2181
我因此遇到了一些ELK問題。
猜測Logstash無法解析您發送的任何內容。 它是有效的JSON嗎? 您是否檢查日志錯誤?
在我的情況下,如果Kafka在另一個容器中運行,則必須將KAFKA_ADVERTISED_HOST_NAME設置為IP地址而不是本地主機。
感謝您的想法!
您是否嘗試過將logstash-input-kafka插件版本更新為> 3.xx? 根據文檔 ,版本3.x +的插件支持Kafka 0.9+。 Logstash 2.x仍默認為插件版本2.x。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.