Skip to main content
通过 Obkio 组织级别的 Webhook 通知,将网络监控告警同步到 Flashduty On-call。每条 Obkio 告警(alert_id)对应一条 Flashduty 告警,同一告警再次通知时合并到同一条。

在 Flashduty On-call


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

使用专属集成

  1. 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
  2. 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
  3. 选择 Obkio,点击 保存
  4. 打开生成的集成卡片,复制 推送地址

使用共享集成

  1. 进入 Flashduty 控制台,选择 集成中心 → 告警事件
  2. 选择 Obkio,填写集成名称
  3. 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
  4. 点击 保存,复制生成的 推送地址

在 Obkio 中配置


Webhook 在组织级别配置,需要有修改组织高级参数的权限。
1

填写 Webhook 地址

  1. 在 Obkio 中点击 左下角 More → 组织名称 → Change Organization’s Advanced Parameters
  2. 找到 Webhooks Settings,确认 Webhook Type 选中 Obkio
  3. 将 Flashduty 集成的完整推送地址粘贴到 Webhook URL,地址中需包含 integration_key
  4. Webhook Secret 可留空,Flashduty 不校验签名
  5. 这一页没有保存按钮,输入框失去焦点(例如点击页面空白处)时自动保存。刷新页面确认 Webhook URL 仍在
2

开启超时自动关闭

Obkio 的 Webhook 文档没有描述恢复通知,Flashduty 中的告警不会自动恢复。请在协作空间开启超时自动关闭,超时计时起点选 故障触发,超时时长建议 4 小时,可按网络告警的常见持续时间调整。
3

验证

等待一条真实的 Obkio 告警(例如延迟超过阈值),确认 Flashduty 收到活动告警。Obkio 对返回非 2xx 的推送最多重试 8 次,间隔从 30 秒逐步增加到 15 分钟。Obkio 文档没有描述测试推送。Flashduty 只处理 type 为 alert_notification 的推送,其他类型的推送返回成功但不创建告警。

Alert Key


Flashduty 使用 Webhook 中的 data.alert_id 作为 Alert Key。Obkio 的推送示例把 alert_id(告警)与 notification_id(本次通知)分开列出,通知 ID 每次不同,因此不参与 Alert Key。Obkio 文档没有说明 alert_id 在同一告警多次通知间是否保持不变;若发生变化,每次通知会各自成为一条告警,由超时自动关闭收敛。 事件类型、等级、描述的变化都不会改变 Alert Key。缺少 data.alert_id 的推送会被拒绝。

状态和告警等级


Flashduty 按 data.severity(Obkio 的等级,见通知说明)设置告警等级: Obkio 文档没有说明是否会推送 ok 等级;如果推送,对应 alert_id 的告警恢复。

标签


标题取自 event_description(如 High latency: 118.32 ms)。

排查问题


  • Flashduty 返回参数错误:错误信息会指出缺少的字段(data.alert_id)。确认 Webhook Type 选择的是 Obkio
  • Obkio 重试推送:确认 URL 完整且包含 integration_key,返回 2xx 后 Obkio 才停止重试
  • 告警没有恢复:这是预期行为,请确认已开启协作空间的超时自动关闭
  • 没有收到告警:Obkio 的智能通知会先等待一段时间,等级为 error 的通知默认延迟 2 分钟,期间问题恢复则不会发送
更多字段含义请参阅 Obkio Webhook 文档。