从filebeat发送json消息到logstash

时间:2019-04-23 12:12:24

标签: logstash filebeat

我想通过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" }

1 个答案:

答案 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 {
[...]
}