1

我正在尝试为我的服务配置一个自定义指标,它将监视服务的正常运行时间,我正在尝试获取状态代码的值并在值为 4* 和 5* 时发出警报我正在尝试匹配 statusCode使用 json 过滤器模式但无法正确处理

 {
        "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

4

2 回答 2

2

当我们复制粘贴 json 不起作用时,这似乎是 json 的问题,如果从Log Data to Test下拉列表中选择,则过滤器在这种情况下对我有用。

于 2018-07-14T05:55:13.943 回答
0

对我有用的答案是AWS Cloudwatch Json Metric Filter Pattern

哪些报价,

在 AWS 控制台中使用测试指标筛选器功能时,每个日志事件都必须位于单独的行中。您仍然可以运行相同的测试,但您必须从示例数据中删除所有新行。

于 2019-12-10T00:38:33.650 回答