Terraform创建CloudWatch异常检测告警时遇400无效指标列表错误
Kinesis数据流CloudWatch异常检测告警Terraform配置错误原因及修复
错误的核心原因是你给两个metric_query都设置了return_data = "true",违反了CloudWatch告警的规则:
- 当使用
threshold_metric_id关联表达式型阈值时,只有作为阈值的查询(即包含ANOMALY_DETECTION_BAND的ExpectedIncomingRecords)需要开启return_data - 提供原始数据的
IncomingRecords查询只是表达式的输入数据源,不需要返回独立的时间序列给告警逻辑,必须将其return_data设为false,否则会触发"Invalid metrics list"验证错误
修复后的配置代码如下:
resource "aws_cloudwatch_metric_alarm" "my_anomaly_detector" { alarm_name = "LowIncomingRecordsAnomaly" comparison_operator = "LessThanLowerThreshold" evaluation_periods = 2 threshold_metric_id = "ExpectedIncomingRecords" insufficient_data_actions = [] metric_query { id = "ExpectedIncomingRecords" expression = "ANOMALY_DETECTION_BAND(IncomingRecords, 2)" label = "IncomingRecords (Expected)" return_data = "true" } metric_query { id = "IncomingRecords" return_data = "false" # 关键修改:将此处改为false metric { namespace = "AWS/Kinesis" metric_name = "PutRecords.Records" stat = "Sum" period = 300 unit = "Count" dimensions = { StreamName = "my_stream_name" } } } }
内容的提问来源于stack exchange,提问作者mmarion
相关产品推荐
相关产品推荐

