我正在尝试为我的服务配置自定义指标,以监控服务的正常运行时间,我试图获取状态码的值,并且如果该值是4 *和5 *,则发出警报。使用json过滤器模式匹配statusCode,但无法正确获取
{
"res": {
"statusCode": 500
},
"req": {
"url": "",
"headers": {
"host": "",
"connection": "close",
"user-agent": "",
"accept-encoding": "gzip, compressed"
},
"method": "GET",
"httpVersion": "1.1",
"originalUrl": "",
"query": {}
},
"responseTime": 1,
"requestId": "",
"level": "info",
"message": "",
"timestamp": ""
}
我的过滤器模式是 我都尝试过这两个,但都没有用 {$。res.statusCode = 500}
{($。res.statusCode = 2 *)||($。res.statusCode = 5 *)}
我正在尝试关注https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
答案 0 :(得分:2)
当我们复制粘贴json不起作用时,这似乎是json的问题, 如果从将数据记录到测试下拉菜单中进行选择,则过滤器在这种情况下对我有用。
答案 1 :(得分:0)
最适合我的答案是AWS Cloudwatch Json Metric Filter Pattern
引号
在AWS控制台中使用Test Metric Filter功能时,每个日志 事件必须在单独的一行中。您仍然可以运行相同的测试, 但是您必须从示例数据中删除所有新行。