Logstash Output(二)Kafka

2019-08-11  本文已影响0人  我是一名搬运工

Kafka也是Logstash的常用输出之一,一般拿来作数据的中转。
常规的Kafka输出配置文件如下所示:

output {
  kafka {
    bootstrap_servers => "localhost:9092"    #生产者
    topic_id => "nginx-access-log"    #设置写入kafka的topic
    compression_type => "snappy"    #消息压缩模式,默认是none,可选gzip、snappy。
  }
}

logstash-out-kafka 的其他配置还包括:

compression_type:消息压缩模式,默认是none,有效值为:none、gzip、snappy。
asks:消息确认模式,默认为1,有效值为:0、1、all。设置为0,生产者不等待 broker 回应;设置为1,生产者会收到 leader 写入之后的回应;设置为all, leader 将要等待 in-sync 中所有的 replication 同步确认。
send_buffer_bytes: TCP发送数据时的缓冲区的大小。

logstash-kafka 插件输入和输出默认 codec 为 json 格式。在输入和输出的时候注意下编码格式。消息传递过程中 logstash 默认会为消息编码内加入相应的时间戳和 hostname 等信息。如果不想要以上信息(一般做消息转发的情况下),可以使用以下配置,例如:

output {
    kafka {
        codec => plain {
            format => "%{message}"
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读