在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 OCI Monitoring,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 OCI Monitoring,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
OCI 的 HTTPS 订阅地址不允许带查询参数,所以本集成的推送地址把集成 key 放在路径里,形如
https://api.flashcat.cloud/event/push/alert/oci-monitoring/<integration_key>。请原样粘贴完整地址,不要改成 ?integration_key= 的写法。在 OCI 中配置
1
创建主题
- 登录 OCI 控制台,打开导航菜单,选择 Developer Services,在 Application Integration 下选择 Notifications
- 选择告警所在的 Compartment,点击 Create topic
- 名称可填写
Flashduty,点击 Create
2
创建 HTTPS 订阅
- 打开
Flashduty主题,选择 Subscriptions,点击 Create subscription - Protocol 选择 HTTPS (Custom URL)
- URL 填写 Flashduty 集成的完整推送地址,点击 Create
- OCI 会向推送地址发送订阅确认请求,Flashduty 自动访问其中的确认链接。几秒后刷新订阅列表,状态从 Pending 变为 Active 即完成
3
把告警通知发到主题
- 打开导航菜单,选择 Observability & Management → Monitoring → Alarm Definitions,创建或编辑告警
- 在 Destination 中,Destination service 选择 Notifications,Topic 选择
Flashduty - Message grouping 按需选择:
- Split notifications per metric stream:每条触发的指标流(通常是一个资源)各自对应一条 Flashduty 告警,推荐
- Group notifications across metric streams:整个告警规则对应一条 Flashduty 告警,全部指标流恢复后才恢复
- 可选开启 Repeat notification,持续触发期间的重复通知会合并到同一条告警
- 保存告警。Message format 只影响邮件订阅,无需修改
4
验证
- 在主题的 Actions 菜单中选择 Publish message,可以验证推送地址可达。手动发布的消息不是告警消息,Flashduty 会返回成功但不会创建告警
- 让告警真实触发(例如临时调低阈值),确认 Flashduty 收到活动告警;再恢复阈值,等待告警回到 OK,确认原告警自动恢复
Alert Key
Flashduty 直接使用告警消息中的
dedupeKey 作为 Alert Key。OCI 官方将 dedupeKey 定义为告警(汇总消息)或告警中某条指标流(拆分消息)的唯一标识,并说明同一告警的消息用它归组。同一告警的 OK_TO_FIRING、REPEAT、FIRING_TO_OK 和 RESET 消息携带相同的 dedupeKey,所以会更新同一条 Flashduty 告警。
标题、正文、等级、时间和指标值的变化都不会改变 Alert Key。缺少 dedupeKey 的告警消息会被拒绝。
状态和告警等级
恢复时保留告警原有等级。空值或未知的
severity 按 Warning 处理;未知的 type 会被拒绝。
告警标签
Flashduty 会把以下字段写入告警标签,便于路由和排查:
check(告警标题)、dedupe_key、type、severity、notification_typealarm_id(告警 OCID)、alarm_status、namespace、query、alarm_url、total_metrics_firing- 拆分消息时,指标流的全部维度,例如
resourceId、resourceDisplayName、region、availabilityDomain;其中resourceDisplayName同时写入resource
body 和告警摘要 alarmSummary 写入告警描述。
排查问题
- 订阅一直是 Pending:确认 URL 是完整推送地址,集成 key 在路径里且没有查询参数;然后删除这个订阅,用正确的地址重新创建。确认链接 3 天内有效,过期后同样需要重新创建订阅
- Flashduty 返回 ConfirmationURL 错误:Flashduty 只访问 Oracle Cloud 域名(如
oraclecloud.com)上的 https 确认链接,请确认请求来自 OCI Notifications - 收不到告警:确认告警的 Destination 是这个主题、订阅状态为 Active,以及告警确实进入了 FIRING 状态
- 告警没有恢复:汇总消息模式下,要等告警内所有指标流都恢复才会发送
FIRING_TO_OK;指标流停止上报时,OCI 在内部重置周期结束后发送RESET,约 13 分钟 - 一个告警规则只出现一条 Flashduty 告警:Message grouping 选的是汇总消息,如需按资源分别告警,改为 Split notifications per metric stream