logstash处理嵌套json的方式

在logstash中经常遇到嵌套json的情况,一个比较通用的解决方案就是使用多个filter中的json{}组件来分别对每个层级的json进行解析。
例如:

"address": {
    
    
        "street":  {
    
    
            "name": "Google",
            "url": "http://www.google.com"
        },
        "city": "江苏苏州",
        "country": "中国"
    }

可以使用如下代码进行分层解析:

json{
    
    
source=>"address"
}
json{
    
    
source=>"street"
}

还有一种常见的情况,json{}组件解析了jsonobj,形成了层级结构,这时候可以使用字段拼装的方式把自己需要的字段放到同一级。

 ruby{
    
    
  code =>"event.set("test", event.get("[testA][testB]"))"
}

或者使用:add_field{}进行拼装

猜你喜欢

转载自blog.csdn.net/hardyer/article/details/103149607