【问题标题】:sending different output using same logstash file使用相同的logstash文件发送不同的输出
【发布时间】:2019-01-30 18:01:55
【问题描述】:
我需要我的 logstash conf 文件向 kafka 主题发送消息,以指示处理的文档已发送到 elasticsearch。我已经准备好我的 logstash 文件来构建要发送到 ElasticSearch 的数据,但我需要通过同一个 logstash 文件向 kafka 主题发布“是”或“否”消息。
【问题讨论】:
标签:
elasticsearch
apache-kafka
logstash
【解决方案1】:
您可以使用多个输出,例如
output
{
#output to console
stdout {
codec => rubydebug
}
#output to elasticsearch
elasticsearch {
hosts => [ "192.168.1.245:9201" ]
}
#output to kafka
kafka {
codec => json
topic_id => "mytopic"
}
}
【解决方案2】:
首先,您需要在字段中包含是/否值,我们称之为值。
然后添加一个 kafka 输出,使用普通编解码器使用格式选项添加是/否值:
output {
#rest of your output configuration
kafka {
...
codec => plain {format => "%{[value]}"}
}
}