发送字段作为Logstash中的根字段

时间:2019-01-22 21:30:51

标签: logstash

使用Logstash 5.4。当前,我有一些事件将所有数据发送到“数据”字段中,并在根级别上在我的弹性信息中提供大量我不需要的额外信息。这样的数据结构看起来像这样

{
"index": "index-value",
"otherMetaData" : "stuff",
"data" {"key1":"value1", "key2":"value2"}
}

我希望我的logstash仅发送此值的数据部分,以便弹性得到

{"key1":"value1", "key2":"value2"}

没有别的。在Logstash中是否有一个设置值作为root插件?或者是一种简单的方法

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是将源设置为“数据”

filter {
    json {
        source => "data"
    }
}

您还可以使用过滤器变异或自定义的ruby脚本,如Eliminate the top-level field in Logstash中的MagnusBäck所述

Elastic记录了Event APIField References Deep Dive。这些帮助我了解了"%{[message]}"的含义。