跳转到主要内容
将阿里云监控 2.0 通知策略发送的问题通知同步到 Flashduty On-call。

与其他阿里云集成的区别

请根据阿里云侧的通知入口选择集成。 通知策略会将相关事件组成一个阿里云问题。系统默认 Webhook 模板发送包含 incidentId、title、state、severity 和 events[] 的通知。即使事件来自 ECS、Prometheus 或 APM,只要通过此通知策略发送,都应使用本文的集成。 一份通知转换为一个 Flashduty 告警事件,使用 incidentId 作为关联标识(Alert Key,即 alert_key)。events[] 中的子事件用于补充描述和标签,不会逐条拆分。相同 incidentId 的后续通知使用相同关联标识;故障的形成和聚合仍遵循 Flashduty 的告警处理规则。
本集成只支持阿里云系统默认 Webhook 通知模板。中文和英文都必须保持默认内容,不支持自定义模板、增删或重命名字段。若已编辑模板,请在阿里云模板编辑器中使用 恢复默认,并保存。不支持直接发送单条 CloudEvents 事件或自定义 JSON。

在 Flashduty On-call

您可通过以下两种方式获取集成推送地址,任选其一即可。

使用专属集成

如果您只需将告警发往一个协作空间,选择此方式。
  1. 进入 Flashduty 控制台,选择 协作空间,打开目标协作空间。
  2. 选择 配置 → 集成数据 → 专属集成,选择 新增集成。
  3. 选择 阿里云监控 2.0 通知策略版,保存。
  4. 打开集成卡片,复制 推送地址。

使用共享集成

如果您需要按告警内容路由到不同协作空间,选择此方式。
  1. 进入 集成中心 → 告警事件。
  2. 选择 阿里云监控 2.0 通知策略版,填写集成名称。
  3. 配置默认路由并选择协作空间。
  4. 保存并复制 推送地址;创建后可在 路由 中增加规则。

在阿里云中配置

1

创建自定义 Webhook 通知对象

登录云监控 2.0 控制台,选择目标工作空间,进入 告警中心 → 通知管理 → 通知对象 → 自定义 Webhook,新建通知对象。保存通知对象。请使用本集成生成的完整推送地址,不要使用 ARMS、Prometheus 或 CM 指标集成的地址。
2

配置通知策略和默认模板

进入 告警中心 → 通知管理 → 通知策略,创建或编辑目标策略。
  1. 根据需要设置匹配条件,选中要同步的告警。
  2. 将通知方式设为 Webhook,选择上一步创建的通知对象。
  3. 使用 系统默认 Webhook 通知模板,保持中文和英文模板内容不变。不要创建自定义内容,也不需要在 Flashduty 配置字段映射。
  4. 开启恢复通知并保存,确保同一个问题的触发和恢复都发送到该 Webhook。
如果已有模板被修改,在对应语言的 Webhook 模板编辑器中选择 恢复默认 后保存。有关模板入口,参见阿里云通知模版文档。
3

验证触发和恢复

等待匹配通知策略的真实告警触发。回到 Flashduty,检查集成的 最新事件时间,并确认目标协作空间收到告警。检查标题、等级、资源标签和详情链接。随后让同一个阿里云问题恢复,确认恢复通知到达,并且使用相同 incidentId 关联原告警。阿里云发送成功仅表示推送完成,还需核对 Flashduty 中的实际结果。

状态和告警等级

恢复以通知顶层的 state 为准。恢复通知中的子事件可能保留触发时的状态和指标值,不影响恢复判断。 默认通知应包含 incidentId、title、startTime、subscription、severity、state 和 events。缺少必需字段或状态无效时,通知会被拒绝;events 允许为空数组。请恢复系统默认模板,避免通过自定义 JSON 补字段。

标签和描述

集成按白名单读取事件的标量字段,不会展开所有产品字段或嵌套 JSON。缺失、别名取值冲突或超过 512 字节的普通事件字段不生成标签。详情链接允许最多 8 KiB,超过时省略。最多生成 30 个标签,为 events 预留一个位置,并保留通知信息、详情链接和常用资源维度。 多事件通知只将每个子事件都有且值相同的事件维度提升为标签。例如,两个 Pod 的命名空间相同、Pod 名称不同,则保留 namespace,省略 pod_name。同类链接不一致时,也不会取第一条作为整条告警的链接。 events 标签保存精选字段的紧凑 JSON,不是上游事件整包。字段保留源名称、层级、类型和事件顺序,不解析嵌套的 JSON 字符串。您可在告警标签中按 JSON 查看详情。 查询、条件数组及其 idx 关联保持原顺序,不会任意拆分。流水标识、协议字段、userId、通知配置、完整规则、扩展和发送配置、JVM 属性,以及重复的 _cms_val_json、reachedPointsJson 不会写入此标签。资源、规则和详情链接继续使用独立标签,不在 JSON 中重复堆放。 events 标签最多保留 8 KiB。白名单筛选后没有可保留内容的事件会省略,event_count 仍记录上游原始事件数。正常筛选不标记为截断;只有精选内容仍超限时,才省略内容并改用包含 events 和 _flashduty 的对象。结果始终为有效 JSON,_flashduty.truncated=true 明确表示额外的有损省略。此标签不能作为完整原始报文使用。 描述仅包含上游 annotations.message 和 annotations.summary 的去重摘要;两者均无内容时,描述为空。摘要不会重复写入 events,资源和阈值也不会平铺到描述中。详情链接使用独立标签,只接受有效的 HTTP 或 HTTPS 地址。 资源标签中的 instance 不一定是故障资源,集成不会将监控采集地址直接当作实例 ID。ip 只接受合法 IP 地址。

常见问题

先确认 URL 来自 阿里云监控 2.0 通知策略版 集成。旧版 CM、ARMS 和 Prometheus 回调使用不同报文格式,不能互换地址。再检查通知策略是否使用系统默认 Webhook 模板。自定义模板、单条 CloudEvents 事件以及缺少 incidentId 的 JSON 均不受支持。恢复默认内容后,重新触发通知验证。
确认通知策略已开启恢复通知,并且恢复通知仍发送到相同 Webhook。对照两次通知的顶层 incidentId 和 state:标识应相同,恢复时 state 应为 resolved。不要用 events[].status 判断整个问题的恢复。
该字段可能不在白名单中、值为空,或在多个子事件间存在差异。请查看 events 标签中的子事件上下文。不要修改阿里云默认模板来强行添加字段。
检查通知策略的匹配条件、通知方式和通知对象是否正确。私有化接收地址还需按阿里云通知对象文档放通网络访问。