You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 23:11:11