amazon-web-services - 当 API 网关调用达到其 29 秒超时并返回 504 错误时触发 AWS 警报

标签 amazon-web-services amazon-cloudwatch amazon-cloudwatch-metrics

我是云中的新手,我需要配置 CloudWatch 以在出现 504 错误时调用 Lambda。为此,我在下面编写了无服务器代码:但是在出现 504 错误时,代码没有调用警报。在代码中,我定义了 29000 毫秒(29 秒)阈值,任何花费时间超过或等于的请求都应调用警报。

请帮我弄清楚我在这里缺少什么?

 TaskTimeoutAlarm:
  Type: AWS::CloudWatch::Alarm
  Properties:
    Namespace: "AWS/ApiGateway"
    MetricName: "Latency"
    AlarmDescription: "API Gateway timeout"
    Threshold: 29000
    Period: 300
    EvaluationPeriods: 1
    ComparisonOperator: "GreaterThanOrEqualToThreshold"
    AlarmActions:
      - arn:aws:sns:${self:provider.region}:${self:provider.awsAccountId}:${self:custom.alertSnsTopic}
    OKActions:
      - arn:aws:sns:${self:provider.region}:${self:provider.awsAccountId}:${self:custom.alertSnsTopic}
    TreatMissingData: "notBreaching"
    Statistic: "Maximum"
    Dimensions:
      - Name: environment
        Value: ${self:provider.stage}

已编辑 ----------

问题出在维度中传递的键值中。应该是这样的

Dimensions:
      - Name: ApiName 
        Value: dev-employee-api
      - Name: Stage
        Value: dev
  • ApiName 是 API 的名称,您也可以在 AWS API Gateway 中找到它。
  • Stage 是服务器的名称,例如 Dev、Staging 或 Production

最佳答案

您的尺寸是否正确?您将名称声明为“environment”,您可能想使用“stage”或 ApiName。当您查看 CloudWatch 控制台中的指标时,您想要“环境”的维度的名称是什么?

关于amazon-web-services - 当 API 网关调用达到其 29 秒超时并返回 504 错误时触发 AWS 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56106601/

相关文章:

java - SQSEvent 不存在于 aws-lambda-java-events 1.x 中,AmazonS3 不存在于 aws-lambda-java-events 2.x 中?

python - 使用 AWS Cloudwatch Agent 和 Python 记录自定义指标

amazon-web-services - 使用 Cloudformation AWS 将 SNS 主题添加到现有 CloudWatch 警报

amazon-web-services - CloudWatch 统一代理 : Additional property append_dimensions is not allowed

amazon-web-services - AWS Fargate 和多容器 Elastic Beanstalk 之间的区别?

Swift 和亚马逊网络服务

amazon-web-services - 有什么方法可以搜索云监视日志组中的所有日志流?

amazon-web-services - CloudWatch 不会跨维度聚合您的自定义指标

amazon-web-services - 从 cloud-init 用户数据脚本向 S3 进行身份验证