使用Logstash 5.4。当前,我有一些事件将所有数据发送到“数据”字段中,并在根级别上在我的弹性信息中提供大量我不需要的额外信息。这样的数据结构看起来像这样
{
"index": "index-value",
"otherMetaData" : "stuff",
"data" {"key1":"value1", "key2":"value2"}
}
我希望我的logstash仅发送此值的数据部分,以便弹性得到
{"key1":"value1", "key2":"value2"}
没有别的。在Logstash中是否有一个设置值作为root插件?或者是一种简单的方法
答案 0 :(得分:1)
我认为最简单的方法是将源设置为“数据”
filter {
json {
source => "data"
}
}
您还可以使用过滤器变异或自定义的ruby脚本,如Eliminate the top-level field in Logstash中的MagnusBäck所述
Elastic记录了Event API和Field References Deep Dive。这些帮助我了解了"%{[message]}"
的含义。