sebp/elk logstash无法从Kafka接收数据



我正在使用来自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。

最新更新