可以 Loggly 解析(从中导出值)JSON 数组(使用 HTTP/S 批量端点接收)
Can Loggly parse (derive values from) a JSON array (received using HTTP/S Bulk Endpoint)
我有一个 Loggly 免费试用帐户设置和接收事件
。
JSON 是一个对象数组,通过 webhooks https POST 开发。每个对象都是一个事件(这对于批量加载接口来说似乎是合理的)。简化示例:
[
{
"msys": {
"track_event": {
"event_id": "319115158633969504",
"friendly_from": "traffic.gen@example.com"
}
}
},
{
"msys": {
"track_event": {
"event_id": "319115158633970211",
"friendly_from": "traffic2.gen@example.com"
}
}
}
]
Loggly 可以解析 JSON 的内容并提取值(例如 event_id)吗?我试过使用 "Create Derived Fields" 对话框,但这似乎是基于 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>
有几件事让我对这种方法感到困扰(例如,它不是严格有效的 application/json 你传递的,尽管内容类型,它不是 JSON 数组),但是这可能会让您克服遇到的问题,但我希望有比这更优雅的答案。
有关详细信息,请参阅以下内容:Loggly - Bulk Endpoint and Loggly - Automated Parsing
我有一个 Loggly 免费试用帐户设置和接收事件
[
{
"msys": {
"track_event": {
"event_id": "319115158633969504",
"friendly_from": "traffic.gen@example.com"
}
}
},
{
"msys": {
"track_event": {
"event_id": "319115158633970211",
"friendly_from": "traffic2.gen@example.com"
}
}
}
]
Loggly 可以解析 JSON 的内容并提取值(例如 event_id)吗?我试过使用 "Create Derived Fields" 对话框,但这似乎是基于 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>
有几件事让我对这种方法感到困扰(例如,它不是严格有效的 application/json 你传递的,尽管内容类型,它不是 JSON 数组),但是这可能会让您克服遇到的问题,但我希望有比这更优雅的答案。
有关详细信息,请参阅以下内容:Loggly - Bulk Endpoint and Loggly - Automated Parsing