其餘版本,請參閱版本化的插件文檔。html
有關插件的問題,請在討論論壇中打開一個主題,對於bug或特性請求,在Github中打開一個issue,關於Elastic支持的插件列表,請考慮Elastic支持矩陣。git
寫入事件到Kafka主題。github
這個插件使用Kafka客戶端1.1.0,有關broker兼容性,請參閱官方Kafka兼容性參考資料,若是連接的兼容wiki不是最新的,請聯繫Kafka支持/社區確認兼容性。web
若是你須要這個插件中尚未提供的特性(包括客戶端版本升級),請提交一個關於你須要什麼細節的問題。apache
這個輸出支持鏈接到Kafka:json
默認狀況下,安全性是禁用的,可是能夠根據須要打開。bootstrap
惟一須要的配置是topic_id
。安全
默認編解碼器是plain
,Logstash將使用消息字段以及時間戳和主機名對事件進行編碼。服務器
若是但願將事件的完整內容以json的形式發送,則應該在輸出配置中設置編解碼器,以下所示:網絡
output { kafka { codec => json topic_id => "mytopic" } }
有關更多信息,請參閱http://kafka.apache.org/documentation.html#theproducer。
Kafka生產者配置:http://kafka.apache.org/documentation.html#newproducerconfigs。
這個插件支持如下配置選項以及後面描述的通用選項。
設置 | 輸入類型 | 要求 |
---|---|---|
acks |
string,["0" , "1" , "all" ]中之一 |
No |
batch_size |
number | No |
bootstrap_servers |
string | No |
buffer_memory |
number | No |
client_id |
string | No |
compression_type |
string,["none" , "gzip" , "snappy" , "lz4" ]中之一 |
No |
jaas_path |
有效的文件系統路徑 | No |
kerberos_config |
有效的文件系統路徑 | No |
key_serializer |
string | No |
linger_ms |
number | No |
max_request_size |
number | No |
message_key |
string | No |
metadata_fetch_timeout_ms |
number | No |
metadata_max_age_ms |
number | No |
receive_buffer_bytes |
number | No |
reconnect_backoff_ms |
number | No |
request_timeout_ms |
string | No |
retries |
number | No |
retry_backoff_ms |
number | No |
sasl_kerberos_service_name |
string | No |
sasl_mechanism |
string | No |
security_protocol |
string,["PLAINTEXT" ,"SSL" ,"SASL_PLAINTEXT" , "SASL_SSL" ]中之一 |
No |
send_buffer_bytes |
number | No |
ssl_key_password |
password | No |
ssl_keystore_location |
有效的文件系統路徑 | No |
ssl_keystore_password |
password | No |
ssl_keystore_type |
string | No |
ssl_truststore_location |
有效的文件系統路徑 | No |
ssl_truststore_password |
password | No |
ssl_truststore_type |
string | No |
topic_id |
string | Yes |
value_serializer |
string | No |
還能夠查看全部輸出插件支持的通用選項列表。
acks
0
,1
,all
「1」
batch_size
16384
bootstrap_servers
"localhost:9092"
host1:port1,host2:port2
,而且列表能夠是broker的子集,也能夠是VIP,指向broker的子集。buffer_memory
33554432
client_id
compression_type
none
、gzip
、snappy
、lz4
"none"
none
(即沒有壓縮),有效值是none
、gzip
或snappy
jaas_path
Java身份驗證和受權服務(JAAS)API爲Kafka提供用戶身份驗證和受權服務,這個設置提供了JAAS文件的路徑,Kafka客服端的樣例JAAS文件:
KafkaClient { com.sun.security.auth.module.Krb5LoginModule required useTicketCache=true renewTicket=true serviceName="kafka"; };
請注意,在配置文件中指定jaas_path
和kerberos_config
將會添加到全局JVM系統屬性中,這意味着若是你有多個Kafka輸入,它們都共享相同的jaas_path
和kerberos_config
。若是不但願這樣作,則必須在不一樣的JVM實例上運行Logstash的獨立實例。
kerberos_config
krb5.conf
樣式,詳見https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html。key_serializer
"org.apache.kafka.common.serialization.StringSerializer"
linger_ms
0
max_request_size
1048576
message_key
metadata_fetch_timeout_ms
60000
metadata_max_age_ms
300000
receive_buffer_bytes
32768
reconnect_backoff_ms
10
request_timeout_ms
retries
retries
,大於零的值將致使客戶端只重試固定次數,若是傳輸錯誤存在的時間超過了重試計數(網絡中斷、Kafka宕機等),則會致使數據丟失。小於零的值是配置錯誤。retry_backoff_ms
100
sasl_kerberos_service_name
sasl_mechanism
"GSSAPI"
security_protocol
PLAINTEXT
、SSL
、SASL_PLAINTEXT
、SASL_SSL
"PLAINTEXT"
PLAINTEXT
、SSL
、SASL_PLAINTEXT
、SASL_SSL
。send_buffer_bytes
131072
ssl_key_password
ssl_keystore_location
ssl_keystore_password
ssl_keystore_type
ssl_truststore_location
ssl_truststore_password
ssl_truststore_type
topic_id
value_serializer
"org.apache.kafka.common.serialization.StringSerializer"
全部輸出插件都支持如下配置選項:
設置 | 輸入類型 | 要求 |
---|---|---|
codec |
codec | No |
enable_metric |
boolean | No |
id |
string | No |
codec
"plain"
enable_metric
true
id
在插件配置中添加惟一的ID
,若是沒有指定ID,則Logstash將生成一個,強烈建議在配置中設置此ID,當你有兩個或多個相同類型的插件時,這一點特別有用。例如,若是你有兩個電子郵件輸出,在本例中添加一個命名ID將有助於在使用監控API時監控Logstash。
output { kafka { id => "my_plugin_id" } }