在 Flashduty On-call
您可通过以下2种方式,获取一个集成推送地址,任选其一即可。
使用专属集成
当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。展开
展开
- 进入 Flashduty 控制台,选择 协作空间,进入某个空间的详情页面
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成,进入添加集成页面
- 选择 AWS CLoudWatch 集成,点击 保存,生成卡片。
- 点击生成的卡片,可以查看到 推送地址,复制备用,完成。
使用共享集成
当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。展开
展开
- 进入 Flashduty 控制台,选择 集成中心=>告警事件,进入集成选择页面。
- 选择 AWS CloudWatch 集成:
- 集成名称:为当前集成定义一个名称。
- 配置默认路由,并选择对应的协作空间(集成创建后可以前往
路由进行更多路由规则的配置)。 - 点击 保存 后,复制当前页面的新生成的 推送地址 备用。
- 完成。
在 AWS 中配置
- 登录 AWS 控制台,打开
Simple Notification Service - 进入
Topics页面,单击Create topic,Type选择Standard,名称填写Flashduty,单击Create topic - 进入
Subscriptions页面,单击Create subscription Topic ARN选择Flashduty,Protocol选择HTTPS,Endpoint填写集成的推送地址- 单击
Create subscription

- 回到
Subscriptions页面,订阅状态变为Confirmed说明 Flashduty 已完成订阅确认 - 打开
CloudWatch控制台,进入All alarms,创建或编辑告警 - 在
Notification这一步,为In alarm、OK和Insufficient data三种状态都选择 SNS 主题Flashduty。不选OK时告警不会自动恢复

- 回到集成列表,显示最新事件时间即说明已收到事件
订阅可以开启或关闭 Raw message delivery,两种方式都能接收。关闭时 SNS 会附带
Subject,可作为纯文本消息的告警标题,建议保持关闭。其他发布到 SNS 的 AWS 服务
把下列服务的通知发送到同一个
Flashduty 主题即可,无需额外配置。
Cost Anomaly Detection
在 Billing and Cost Management → Cost Anomaly Detection → Alert subscriptions 中创建订阅,Alerting frequency 选择 Individual alerts,Alert recipients 选择 SNS 主题 Flashduty。SNS 主题的访问策略需要允许 costalerts.amazonaws.com 发布消息。
每个异常(anomalyId)对应一条告警,同一异常的后续通知会合并。Cost Anomaly Detection 不发送异常结束通知,告警需要手动关闭。
Amazon Managed Service for Prometheus
在工作区的告警管理器配置中添加sns_configs 接收器,指向 Flashduty 主题。请使用 AWS 文档 Configure alert manager to send messages to Amazon SNS as JSON 中的 default_template,让消息以 JSON 发送:
- 每条告警按
fingerprint生成 Alert Key,firing触发,resolved恢复 severity标签为critical、warning、info时分别对应 Critical、Warning、Info,其余为 Warning- 标签和注解会成为 Flashduty 标签,标题取
summary注解,没有时取alertname
AWS Budgets
在预算的 Alert 设置中选择 Amazon SNS Alerts,填写Flashduty 主题的 ARN。SNS 主题的访问策略需要允许 budgets.amazonaws.com 发布消息。Budgets 通知是纯文本,按下文「其他消息」处理。
其他消息
无法识别的消息(纯文本或其他 JSON)每条生成一条 Warning 告警:Alert Key 为 SNSMessageId,SNS 重试同一条消息时不会重复建告警;标题取 SNS Subject,没有时取消息第一行。这类告警不会自动恢复。
Alert Key
CloudWatch 告警的
ALARM、INSUFFICIENT_DATA、OK 使用同一个 Alert Key,告警名称、阈值、原因和描述的变化不会拆分告警。缺少 AlarmArn 的 CloudWatch 告警消息会被拒绝。
状态和告警等级
CloudWatch 告警没有等级字段,
ALARM 和 INSUFFICIENT_DATA 默认对应 Warning,OK 对应恢复。如需指定等级,在告警的 Alarm description 中写入 flashduty_severity: critical(可选 critical、warning、info,不区分大小写,= 或 : 均可)。例如:标签
- 单指标告警:
trigger_metric_name、trigger_namespace、trigger_dimensions_<维度名>等,维度含InstanceId时写入resource - 指标数学和异常检测告警:每个查询写入
trigger_expression_<查询 ID>、trigger_metric_<查询 ID>(命名空间/指标名)和trigger_dimensions_<维度名>;metric和check取返回数据的查询 - 复合告警:
alarm_rule和triggering_children(触发的子告警 ARN) - 所有告警:
alarm_arn、aws_account_id、region、new_state_value、old_state_value
排查问题
- 订阅停留在
Pending confirmation:确认 Endpoint 是完整推送地址且包含integration_key,然后在 SNS 控制台对该订阅执行 Request confirmation - Flashduty 返回 SubscribeURL 错误:Flashduty 只访问
sns.<region>.amazonaws.com、sns.<region>.amazonaws.com.cn和sns.<region>.amazonaws.eu上的订阅确认地址,请确认订阅请求来自 Amazon SNS - 告警没有恢复:确认 CloudWatch 告警的
OK状态也通知了Flashduty主题 - 需要在 EventBridge 中统一处理:GuardDuty、Security Hub、AWS Health 等事件请使用 AWS EventBridge 集成