我有这个JSON
-awakeFromNib
即使我使用了logstash过滤器:
{
"users":"[{"id":1,"name":"bob"},{"id":2,"name":"alice"},{"id":3,"name":"david"}]",
"date":"23/01/2017"
}
该消息以弹性形式存储为单个事件
users => [{" ID":1,"名称":"摆锤"},{" ID":2"名称&# 34;:"爱丽丝"},{" ID":3,"名称":"大卫"}] 日期=> 23/01/2017
问题1:如何将用户字段从字符串转换为json数组以获得此
filter {
split {
field => "users"
}
}
问题2:我如何将这个嵌套的json存储为弹性
中的多个json事件预期产出:
"users":[{"id":1,"name":"bob"},{"id":2,"name":"alice"},{"id":1,"name":"david"}],
"date":"23/01/2017"
提前感谢您的回答
答案 0 :(得分:1)
对于问题1,您可以使用Logstash JSON过滤器插件转换JSON格式。
https://www.elastic.co/guide/en/logstash/current/plugins-filters-json.html
对于问题2,我认为从一行中你不能制作多个文档,你需要为新文档添加新行。
Logstath可以解析一个日志行或多个日志行来准备一个elasticsearch文档。但是从一行来看,它无法创建多个文档。