我正在使用来自https://hub.docker.com/r/sebp/elk/的Docker ELK容器,根据logstash-logs,一切都很好,正在运行
现在我尝试从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是正确的,因为否则我得到异常…
任何想法?
提前感谢!
注:: 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地址而不是localhost。
谢谢你的建议!
您是否尝试过将logstash-input-kafka插件版本更新到> 3.x.x?根据文档,Kafka 0.9+由插件版本3.x+支持。Logstash 2。