AWS CloudWatch 复合告警构建器
将以下提示词粘贴到你的 AI 对话框中:
请根据官方安装指南 https://skillhub.cn/install/skillhub.md,将 @user_3c6cb52e/aws-cloudwatch-composite-alarm-builder 安装到你的 AI 助手中。
技能介绍
要解决的问题
AWS CloudWatch 的告警模型以单个指标为粒度。当故障需要多个条件同时成立时——比如 CPU 使用率超阈值且错误日志数量异常——运维人员要么堆叠 CloudFormation 规则,要么在多个告警面板之间做人工关联。CloudWatch 复合告警(Composite Alarm)虽然提供了 OR/AND/NOT 组合能力,但通过控制台拼表达式费时且易错,通过 API 调用时参数结构也较繁琐。
核心能力
这个技能的核心是围绕 PutCompositeAlarm API 封装一套创建与管理流程:
- 从已有的指标告警中读取名称,构建复合告警的表达式
- 支持
OR、AND、NOT逻辑组合多个信号 - 将若干独立告警收敛为一条规则,避免告警风暴
典型工作流
- 准备好输入告警集合(通过
GetMetricAlarm等获取名称列表) - 按目标逻辑拼装表达式字符串,例如
alarm1 AND alarm2 - 调用
PutCompositeAlarm创建或更新规则 - 通过
DeleteAlarms/DescribeAlarms做后续生命周期管理
适用边界与注意点
- 复合告警只能引用同区域内的指标告警,跨区域需另行处理
- 表达式长度有限制,组合过多信号可能超出参数上限
- 复合告警的状态来自子告警的状态传播,它本身不会直接评估新指标
- 依赖 AWS SDK 环境(上游示例基于
@aws-sdk/client-dynamodb项目),凭证与 IAM 权限需提前配置
使用场景
- 当错误率在 5 分钟内上升时,只有同时满足 CPU 超阈值且延迟持续过高,才需要叫停发布。
- 多副本部署时,任一副本触发主告警,就合并为一个总告警并通知值班人。
- 多条规则产生大量衍生告警,需要把一组规则组合为一条总告警来减少通知数量。
适合人员
- 负责 AWS 告警规则与 SLO 的工程师,需要把分散的指标告警收敛为少量复合告警。
- 云原生应用开发者,在 Node.js 项目里调用 AWS SDK 批量构建复合告警规则。
- 处理多规则告警风暴的 SRE,需要按 AND/OR/NOT 把现有告警编排成一条总告警。
- 维护内部监控工具的 DevOps,希望用 PutCompositeAlarm 自动化创建与更新复合告警。