从filebeat发送json消息到logstash

问题描述 投票:0回答:1

我想通过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" }
logstash filebeat
1个回答
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 {
[...]
}
© www.soinside.com 2019 - 2024. All rights reserved.