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

如何为特定指标的CloudWatch告警批量创建OK状态触发规则

可行的CloudWatch告警OK状态触发规则配置方案

针对你需要批量捕获特定指标CloudWatch告警OK状态变更的需求,以下是两种经过验证的配置方案,可覆盖500+告警的批量需求,且不会误触发其他无关告警:

方案1:基于指标名称的精准事件模式匹配

这是最直接的方案,通过EventBridge规则的事件模式,仅匹配指定4个指标关联的告警从非OK状态转为OK的事件。

事件模式配置

直接使用以下JSON作为EventBridge规则的事件模式,精准过滤目标告警:

{
  "source": ["aws.cloudwatch"],
  "detail-type": ["CloudWatch Alarm State Change"],
  "detail": {
    "state": {
      "value": ["OK"]
    },
    "previousState": {
      "value": ["ALARM", "INSUFFICIENT_DATA"]
    },
    "configuration": {
      "metrics": [
        {
          "metricName": ["disk_used_percent", "mem_used_percent", "CPUUtilization", "ApproximateAgeOfOldestMessage"]
        }
      ]
    }
  }
}

配置说明

  • source 和 detail-type 限定事件来源为CloudWatch告警状态变更
  • state.value 指定仅捕获状态变为OK的事件
  • previousState.value 过滤掉初始OK状态的冗余触发,只处理从告警/数据不足状态恢复的场景
  • configuration.metrics.metricName 精准匹配你指定的4个指标,仅关联这些指标的告警会被规则捕获

方案2:基于告警标签的批量匹配(适合已打标或可批量打标的场景)

如果你的告警已统一打标签(或可批量打标),可以结合标签+指标名称双重过滤,灵活性更高:

带标签的事件模式配置

{
  "source": ["aws.cloudwatch"],
  "detail-type": ["CloudWatch Alarm State Change"],
  "detail": {
    "state": {
      "value": ["OK"]
    },
    "previousState": {
      "value": ["ALARM", "INSUFFICIENT_DATA"]
    },
    "tags": {
      "AlertCategory": ["ResourcePerformance"]
    },
    "configuration": {
      "metrics": [
        {
          "metricName": ["disk_used_percent", "mem_used_percent", "CPUUtilization", "ApproximateAgeOfOldestMessage"]
        }
      ]
    }
  }
}

批量给告警打标签(未打标时使用)

如果还没给目标告警打标签,可通过AWS CLI批量操作:

# 1. 导出所有关联指定指标的告警名称
aws cloudwatch describe-alarms --query 'MetricAlarms[?Metrics[0].MetricName==`disk_used_percent` || Metrics[0].MetricName==`mem_used_percent` || Metrics[0].MetricName==`CPUUtilization` || Metrics[0].MetricName==`ApproximateAgeOfOldestMessage`].AlarmName' --output text > alarm-names.txt

# 2. 批量打标签(替换占位符为你的区域和账号ID)
xargs -a alarm-names.txt -I {} aws cloudwatch tag-resource --resource-arn arn:aws:cloudwatch:${你的AWS区域}:${你的AWS账号ID}:alarm:{} --tags Key=AlertCategory,Value=ResourcePerformance

规则生效验证

配置完成后,可通过以下步骤确认规则生效:

  1. 手动调整某目标告警的阈值,让其先进入ALARM状态,再调整回OK
  2. 查看EventBridge规则的「已匹配事件」统计,确认事件被正常捕获
  3. 检查规则关联的通知目标(如SNS主题)是否收到OK状态通知

常见问题排查

  • 若规则未生效,先确认指标名称大小写、拼写和告警实际关联的指标完全一致(比如CPUUtilization是驼峰格式,切勿写错)
  • 确保目标告警是指标型告警,复合告警/日志告警的metrics结构不同,需调整事件模式
  • 检查EventBridge规则的IAM权限,默认规则权限足够,若使用自定义角色需确认其具备读取CloudWatch事件的权限

内容的提问来源于stack exchange,提问作者Naina Bhandare

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 22:17:26