cloudwatch指标过滤器模式与json日志不匹配

时间:2018-06-25 14:29:55

标签: amazon-cloudwatch amazon-cloudwatchlogs amazon-cloudwatch-metrics

我正在尝试为我的服务配置自定义指标,以监控服务的正常运行时间,我试图获取状态码的值,并且如果该值是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

2 个答案:

答案 0 :(得分:2)

当我们复制粘贴json不起作用时,这似乎是json的问题, 如果从将数据记录到测试下拉菜单中进行选择,则过滤器在这种情况下对我有用。

答案 1 :(得分:0)

最适合我的答案是AWS Cloudwatch Json Metric Filter Pattern

引号

  

在AWS控制台中使用Test Metric Filter功能时,每个日志   事件必须在单独的一行中。您仍然可以运行相同的测试,   但是您必须从示例数据中删除所有新行。