首页 > 解决方案 > 如何配置 CloudWatch 警报以捕获错误?

问题描述

我有一个运行 .NET Core API 的 AWS Lambda 函数。我已将其设置为将信息和错误记录到 CloudWatch。这行得通。例如,当发生错误时,我会在 CloudWatch Logs 中看到类似的内容。

2021-08-16T16:24:58.693-04:00 [Error] MyCompany.Api.Startup: Test global error handling.

我按照此处的示例设置了一个 CloudWatch 警报,该警报由 Lambda 中的应用程序错误触发。这是我生成的源代码:

{
    "Type": "AWS::CloudWatch::Alarm",
    "Properties": {
        "AlarmName": "API Lambda Error Alarm",
        "ActionsEnabled": true,
        "OKActions": [],
        "AlarmActions": [
            "arn:aws:sns:us-east-1:824088652971:Default_CloudWatch_Alarms_Topic"
        ],
        "InsufficientDataActions": [],
        "MetricName": "Errors",
        "Namespace": "AWS/Lambda",
        "Statistic": "Sum",
        "Dimensions": [
            {
                "Name": "FunctionName",
                "Value": "p-mycompany-api-lambda"
            },
            {
                "Name": "Resource",
                "Value": "p-mycompany-api-lambda"
            }
        ],
        "Period": 900,
        "EvaluationPeriods": 1,
        "DatapointsToAlarm": 1,
        "Threshold": 1,
        "ComparisonOperator": "GreaterThanOrEqualToThreshold",
        "TreatMissingData": "missing"
    }
}

但是,当我的 API 发生错误并写入 CloudWatch 时,永远不会触发警报。它甚至没有显示它发生在警报下。

我错过了什么?我配置错了吗?

标签: amazon-web-servicesamazon-cloudwatchcloudwatch-alarms

解决方案


推荐阅读