其余版本,请参阅版本化的插件文档。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" } }