【发布时间】:2020-10-23 19:13:45
【问题描述】:
我正在尝试使用 terraform 在 Cloudwatch 中进行设置和警报。 我的告警基本需要检查网关在1分钟的2个时段内是否有超过5%的5xx错误。
我尝试了以下代码,但它不起作用:
resource "aws_cloudwatch_metric_alarm" "gateway_error_rate" {
alarm_name = "gateway-errors"
comparison_operator = "GreaterThanOrEqualToThreshold"
alarm_description = "Gateway error rate has exceeded 5%"
treat_missing_data = "notBreaching"
metric_name = "5XXError"
namespace = "AWS/ApiGateway"
period = 60
evaluation_periods = 2
threshold = 5
statistic = "Average"
unit = "Percent"
dimensions = {
ApiName = "my-api"
Stage = "dev"
}
}
即使部署了警报,也不会显示数据。 做一些测试,我注意到这个警报显然不接受单位“百分比”。
有人在terraform 或cloudformation 中有关于如何配置此类警报的示例吗?
【问题讨论】:
-
有效单位是
Count。我认为您需要一个自定义指标,例如基于5XXError与Count的比率。 -
谢谢@Marcin!,根据您的评论,我发现了这个docs.aws.amazon.com/apigateway/latest/developerguide/… 所以“平均统计数据表示5XXError 错误率,即5XXError 错误的总数除以总数在此期间的请求数”,因此假设阈值 1 是 100% 的呼叫失败,我是否也应该将阈值调整为 0.05?
-
是的,似乎正是我的建议。那么就不需要自定义指标了:-)
标签: amazon-web-services terraform amazon-cloudformation amazon-cloudwatch cloudwatch-alarms