我想通过filebeat将json格式的消息发送到logstash。
我可以通过在filebeat中编写以下内容来过滤json中的每个键值:
json.keys_under_root: true
json.add_error_key: true
json.message_key: message
但是,无法处理多行。 如何获得多线?
而且,我可以摆脱默认情况下添加到filebeat的字段吗? 我想从Filebeat中删除元数据。 我只想接收从logstash发送的信息。就像在文件中一样。 没办法吗?
{"1": "val1" ,"2": "val2" ,"3": "val3\nval3\nval3" }
答案 0 :(得分:0)
您的问题与多行无关。我认为我们需要更多上下文,但是您应该查看json过滤器插件文档:https://www.elastic.co/guide/en/logstash/current/plugins-filters-json.html
您的logstash管道应如下所示:
input {
beats {
port => 'xxxx'
}
}
filter {
json {
source => "message"
}
mutate {
# put the terms you want to exclude from your metadata on the "remove_field" array
remove_field => ["beat","input","prospector","offset"]
}
}
output {
[...]
}