直接使用文档中的示例,在我输入的 lambda 函数中:
console.log(
{
"eventType": "UpdateTrail",
"sourceIPAddress": "111.111.111.111",
"arrayKey": [
"value",
"another value"
],
"objectList": [
{
"name": "a",
"id": 1
},
{
"name": "b",
"id": 2
}
],
"SomeObject": null,
"ThisFlag": true
})
然后,我使用文档示例中指定的过滤模式在 CloudWatch 中创建日志指标过滤器:
{ $.eventType = "UpdateTrail" }
过滤器不会像文档所说的那样生成一个指标 - 这是输出:
2017-10-23T13:27:19.320Z 1143e2b0-eea6-4225-88c0-efcd79055f7b { eventType: 'UpdateTrail',
sourceIPAddress: '111.111.111.111',
arrayKey: [ 'value', 'another value' ],
objectList: [ { name: 'a', id: 1 }, { name: 'b', id: 2 } ],
SomeObject: null,
ThisFlag: true }
如您所见,时间戳和标识符被附加到 JSON 中。
Amazon Cloudwatch 日志过滤中的答案- JSON 语法表示这是因为 Lambda 将日志转换为字符串。如何在 AWS CloudWatch for Log Metric Filter 中解析混合文本和 JSON 日志条目的方法大致相同。在这两种情况下都没有提供解决方案。如何使用 JSON 指标筛选器筛选来自 Lambda 的 CloudWatch 日志?