1

我正在試圖從三個服務器的kafka集羣讀入logstash,以便將它寫入syslog服務器。 我已寫入syslog,但即使在logstash文檔站點上,我也無法找到如何從kafka讀入logstash。卡夫卡輸入到logstash插件

Logtash版本:5.2.2 卡夫卡版本:0.10.2 斯卡拉版本:2_11

我就去看了一下API版本, LOGSTASH_CORE_PLUGIN_API = 「2.1.12」

這是配置我試圖使用

input { 
# file 
# { 
#  path => "/opt/logstash/NOTICE.TXT" 
# 
#  #DEBUG below 
#  #path => "../fsdfdstt.log" 
#  start_position => "beginning" 
#  sincedb_path => "/dev/null" 
# } 
     kafka 
     { 
       zk_connect => "localhost:2181" 
       topic_id => "kafkatest2" 
     } 
} 
output 
{ 
     syslog 
     { 
       host => ["targetserver"] 
       port => port# 
     } 
} 

但是,這是我得到的錯誤...

[2017-03-15T10:24:17,000][ERROR][logstash.inputs.kafka ] Unknown setting 'zk_connect' for kafka 
[2017-03-15T10:24:17,008][ERROR][logstash.inputs.kafka ] Unknown setting 'topic_id' for kafka 
[2017-03-15T10:24:17,015][ERROR][logstash.agent   ] Cannot load an invalid configuration {:reason=>"Something is wrong with your configuration."} 

此外,我發現有些人在kafka輸入中使用'group_id'。我不確定我的羣集是否有groupid。

感謝, 卡蘭

回答

4

kafka輸入配置需要像這個:

kafka 
    { 
      bootstrap_servers => "localhost:9092" 
      topics => "kafkatest2" 
    } 

不連接到了飼養員,但你的卡夫卡經紀人直接到一個。而topic_id設置應改爲topics

您可以找到最新的配置選項:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html

+0

哎,所以我必須有類似 CD /選擇/卡夫卡/; bin/kafka-console-consumer.sh --zookeeper server1:2181,server2:2181,server3:2181 --topic kafkatest2 - 從所有3臺服務器上的起始 ? 我在每臺服務器上運行zookeeper和kafka。 – ScipioAfricanus

+1

'kafka'輸入插件是您的kafka話題的消費者,您不需要啓動其他消費者。如果Kafka已經在運行,你只需要啓動Logstash,它會消耗你的'kafkatest2'主題中的任何土地。 – Val

+0

嘿,所有的工作,謝謝。 – ScipioAfricanus