簡體   English   中英

Logstash插件輸出到Kafka無效

[英]Logstash plugin to output to Kafka not working

我正在嘗試從Logstash向Kafka發送消息,並不斷出現以下錯誤:

tail -f /var/log/logstash/logstash-plain.log
[2018-04-18T17:55:33,836][WARN ][org.apache.kafka.clients.NetworkClient] 
[Producer clientId=producer-1] Connection to node -1 could not be established. Broker may not be available.
[2018-04-18T17:55:46,095][INFO ][logstash.outputs.kafka   ] Sending batch to Kafka failed. Will retry after a delay. {:batch_size=>1, :failures=>1, :sleep=>0.1}
[2018-04-18T17:55:51,979][INFO ][logstash.outputs.kafka   ] Sending batch to Kafka failed. Will retry after a delay. {:batch_size=>1, :failures=>1, :sleep=>0.1}
[2018-04-18T17:56:46,196][INFO ][logstash.outputs.kafka   ] Sending batch to Kafka failed. Will retry after a delay. {:batch_size=>1, :failures=>1, :sleep=>0.1}]

以前可以正常運行,但現在不行,而且我不確定由於未觸摸機器而發生了什么變化。

我可以通過運行Kafka的計算機,運行Logstash的計算機以及從VPC以外的遠程計算機上的控制台生產者與Kafka進行通信,所以我不認為這是網絡錯誤。 可以肯定的是,我將Logstash與Kafka放在同一台機器上,但是遇到了同樣的錯誤。

我仔細檢查並確保我使用的是最新版本的Kafka,Logstash和logstash-output-kafka插件,因此我也不認為這是兼容性問題。 我嘗試重新啟動Logstash和代理無濟於事。

基本上,我不知道如何解決此問題。 任何幫助,將不勝感激。 謝謝。

好吧,我知道了。 這是logstash.conf文件中的一個配置問題:當我將kafka輸出更改為機器的本地IP地址時,它可以工作。 看來,它不能與公用或專用主機名或公用IP地址一起使用。 由於我正在使用帶有多個kafka主題的條件,如下所示:

output {
  kafka {
    bootstrap_servers => "10.0.0.XX:9092"
    codec => json
    topic_id => "test_topic"
  }
  if [type] == "ping" {
    kafka {
      bootstrap_servers => "10.0.0.XX:9092"
      codec => json
      topic_id => "logstash-ping"
    }
  }
  else if [type] == "snmp" {
    kafka {
      bootstrap_servers => "10.0.0.XX:9092"
      codec => json
      topic_id => "logstash-snmp"
    }
  }
}

即使從logstash日志中看到的連接正確,即使其中任何一個設置不正確,它也不會發送給其中任何一個。

作為參考,我對監聽器和advertised.listeners的設置如下:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://ec2-XX-XX-XX-XX.compute-1.amazonaws.com:9092

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM