可以Loggly解析(从中派生值)JSON数组(使用HTTP/S批量端点接收)

可以Loggly解析(从中派生值)JSON数组(使用HTTP/S批量端点接收),json,webhooks,loggly,Json,Webhooks,Loggly,我有一个非常免费的试用帐户设置和接收事件 . JSON是一个对象数组,通过webhooks https帖子进行分层。每个对象都是一个事件(对于批量加载接口来说似乎是合理的)。简化示例: [ { "msys": { "track_event": { "event_id": "319115158633969504", "friendly_from": "traffic.gen@example.com" } } },

我有一个非常免费的试用帐户设置和接收事件 . JSON是一个对象数组,通过webhooks https帖子进行分层。每个对象都是一个事件(对于批量加载接口来说似乎是合理的)。简化示例:

[
  {
    "msys": {
      "track_event": {
        "event_id": "319115158633969504",
        "friendly_from": "traffic.gen@example.com"
      }
    }
  },
  {
    "msys": {
      "track_event": {
        "event_id": "319115158633970211",
        "friendly_from": "traffic2.gen@example.com"
      }
    }
  }
]

是否可以对JSON的内容进行日志解析并提取值(例如,event_id)?我尝试过使用“创建派生字段”对话框,但这似乎是基于regex/line的,而没有JSON意识。

从逻辑上讲,我认为传递JSON数组是可行的,但是经过多次尝试和错误后,我发现如果传递多个由换行符分隔的单独JSON对象,这些对象将被解析为单独的事件:

curl -H "content-type:application/json" -d $'{"timestamp":"2018-09-02T17:16:15.003123Z", "message":"test1"}\n{"timestamp":"2018-09-02T17:17:15.003123Z", "message":"test2"}' http://logs-01.loggly.com/bulk/<your-token>
curl-H“内容类型:应用程序/json”-d$'{“时间戳”:“2018-09-02T17:16:15.003123Z”,“消息”:“test1”}\n{“时间戳”:“2018-09-02T17:17:15.003123Z”,“消息”:“test2”}”http://logs-01.loggly.com/bulk/
这种方法确实让我感到困扰(例如,尽管内容类型不同,但它不是严格有效的application/json,也不是一个json数组),但这可能会让你克服困难,但我希望有一个比这更优雅的答案

有关更多信息,请参见以下内容:

我最近发现“换行符分隔的JSON”是一种东西: