有没有办法在logstash中展平json数据
我的JSON 我想要这样:有没有办法在logstash中展平json数据,json,elasticsearch,logstash,logstash-configuration,Json,elasticsearch,Logstash,Logstash Configuration,我的JSON 我想要这样: { "foo1":{ "number":1, "type":"In progrss", "submit_time":"2020-10-04", "id_type":"2153707", "order_id":"1601849877", "
{
"foo1":{
"number":1,
"type":"In progrss",
"submit_time":"2020-10-04",
"id_type":"2153707",
"order_id":"1601849877",
"foo2":[
{
"t1":"xyz",
"t2":"qwe",
"t3":"yty"
}
],
"order_date":"19/09/2020",
"shipping_date":"2020-10-04",
"shipping_id":"89775555",
"tracking_id":"98876"
}
}
我尝试了
filter{json{source=>“foo1”target=>“jsoncontent”}
但是它没有给我任何东西。我在过滤器部分缺少的任何东西,或者是否有任何不同的方法可以做。如果您是在弹性讨论中平坦化JSON检查之后,请提前感谢。
该讨论线程中的ruby脚本解决方案将给出以下输出
"number": 1,
"type": "in progrss",
"submit_time": "2020-10-04T16:17:33-0600",
"id_type": 2153707,
"order_id": 1601849877,
"order_date": 19/09/2020,
"shipping_date": "2020-10-04T16:17:57-0600",
"shipping_id": "89775555",
"tracking_id": "98876",
"order_id": 1601849877,
"foo2": [
"xyz",
"we",
"yty"
],
顶部的JSON格式不正确。你能修改一下并正确打印吗?请现在检查!!仍然无效JSON现在我添加了有效的json@user223321这个答案有助于你做你想做的事吗?
{
"foo1.order_id" => "1601849877",
"foo1.foo2" => [
[0] {
"t1" => "xyz",
"t3" => "yty",
"t2" => "qwe"
}
],
"foo1.order_date" => "19/09/2020",
"foo1.id_type" => "2153707",
"host" => "37eda5039626",
"@timestamp" => 2020-10-06T08:30:22.463Z,
"type" => "json",
"foo1.submit_time" => "2020-10-04",
"foo1.type" => "In progrss",
"path" => "/usr/share/logstash/stack/data/file.json",
"foo1.number" => 1,
"foo1.shipping_date" => "2020-10-04",
"foo1.tracking_id" => "98876",
"@version" => "1",
"foo1.shipping_id" => "89775555"
}