Sumologic - 将 JSON 数组拆分为多条记录

Posted

技术标签:

【中文标题】Sumologic - 将 JSON 数组拆分为多条记录【英文标题】:Sumologic - split JSON array into multiple records 【发布时间】:2017-04-03 17:15:09 【问题描述】:

我在 HTTP POST 中传递一个 JSON 数组对象

["level":"INFO","data": "Test 1","level":"INFO","data": "Test 2"]

此消息在 SumoLogic 中被视为 1 个对象/日志消息。如何告诉 SumoLogic 将每个 JSON 对象视为独立对象并显示 2 条日志消息而不是 1 条?

【问题讨论】:

【参考方案1】:

我相信这不能用 json 运算符来完成。但是,看看the docs for the "parse regex" operator。有一个名为“multi”的选项,它为正则表达式的每个匹配项创建一条新消息。在你的情况下,这样的事情可能会奏效:

parse regex "\?<fieldname>.*?\" multi

我没有在产品本身中尝试过,但这里是Regex101 link to play with the regex。

【讨论】:

【参考方案2】:

我相信对此的实际答案是不要将您的日志作为数组发送。而是在正文中包含每个 json 对象,并在末尾添加一个“\n”,以便 Sumo 将它们视为单独的日志消息。

"level":"INFO","data": "Test 1"\n
"level":"INFO","data": "Test 2"\n

【讨论】:

以上是关于Sumologic - 将 JSON 数组拆分为多条记录的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 sumologic 中解析嵌套的 json?

将表拆分为多对多关系:数据迁移

如何将存储在列中的 JSON 数组中的每个元素的行拆分为一行?

如何在Android中将大型json数组拆分为页面

如何将 PM2 日志写入 sumologic?

使用javascript将json数据集值拆分为数据表