【发布时间】:2021-12-15 03:01:48
【问题描述】:
我有以下格式的日志:
2021-10-12 14:41:23,903716 [{"Name":"A","Dimen":[{"Name":"in","Value":"348"},{"Name":"ses","Value":"asfju"}]},{"Name":"read","A":[{"Name":"ins","Value":"348"},{"Name":"ses","Value":"asf5u"}]}]
2021-10-12 14:41:23,903716 [{"Name":"B","Dimen":[{"Name":"in","Value":"348"},{"Name":"ses","Value":"a7hju"}]},{"Name":"read","B":[{"Name":"ins","Value":"348"},{"Name":"ses","Value":"ashju"}]}]
每个日志都在一个新行上。问题是我希望顶层数组中单行中的每个对象都是一个单独的文档并进行相应的解析。
我需要解析这个并将其发送到 Elasticsearch。我尝试了许多过滤器、grok、JSON、split 等,但我无法让它按我需要的方式工作,而且我对这些过滤器的经验很少,所以如果有人能提供帮助,将不胜感激。
如果我可以从文件中删除文本/时间戳,我将需要 JSON codec。
"如果要发送的数据是一个位于根的 JSON 数组,则将创建多个事件(每个元素一个)"
如果有办法做到这一点,这也会有所帮助
【问题讨论】:
标签: arrays json parsing elasticsearch logstash