Skip to main content
通过 Odown 的 Webhook 通道,把监控(Check)的宕机(ALERT_FAILURE)、恢复(ALERT_RECOVERY)和 SSL 证书到期(ALERT_EXPIRED_SSL)通知同步到 Flashduty On-call。每个 Odown 监控对应一条宕机告警:监控宕机时触发,监控恢复时关闭这条告警。SSL 证书到期通知是一次性事件,不会恢复。

在 Flashduty On-call


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

使用专属集成

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

使用共享集成

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

在 Odown 中配置


1

添加 Webhook 通道

  1. 登录 Odown,进入账号的 Alert Settings,点击 Add more channels,选择 Webhooks
  2. 将 Flashduty 集成的完整推送地址粘贴到 URL
  3. 在 Sending cases 中勾选 A check recovers、A check fails,需要证书提醒时再勾选 An SSL certificate is due to expire in(默认全部未勾选,未勾选的情形不会发送)
  4. 点击 URL 旁的 Test Webhook 下拉菜单,选择 Recovered Test、Failure Test 或 Expired SSL Test 验证地址:Flashduty 返回成功,不会创建告警
  5. 保存通道
2

关联监控

Webhook 通道是全局的:保存后账号下所有监控都会订阅它(通道列表中的订阅数显示为 1 / 1)。Odown 会在监控宕机时发送 ALERT_FAILURE,恢复时发送 ALERT_RECOVERY,证书临近到期时发送 ALERT_EXPIRED_SSL。
3

验证生命周期

让一个监控真正宕机(例如临时指向一个不可访问的地址),确认 Flashduty 收到活动告警;再恢复监控目标,确认原告警恢复。

推送内容


Odown 以 JSON 格式 POST 事件,Flashduty 直接解析,无需配置模板: 告警标题使用监控名称;监控名称为空时使用被监控地址。SSL 到期告警的标题以 SSL certificate expiring: 开头。

Alert Key


  • 宕机和恢复:使用 check.id 作为 Alert Key。同一个监控的 ALERT_FAILURE 和 ALERT_RECOVERY 携带相同的 check.id,落在同一条告警上;不同监控会生成不同的告警。修改监控名称、状态码或检查区域不会改变 Alert Key。
  • SSL 到期:使用 check.id 加 :ssl_expiry 作为 Alert Key,与该监控的宕机告警分开,因此监控恢复不会关闭证书告警,同一监控重复的到期通知会合并到同一条告警。
请求中缺少 check.id 时,Flashduty 会返回参数错误,因为无法可靠地把恢复通知关联到原告警。

状态和告警等级


Odown 的通知不区分告警等级。 event 为空或为其他值的请求会被拒绝,避免把无法判断状态的请求写入错误的告警生命周期。

一次性告警需要开启超时自动关闭


SSL 到期通知没有对应的关闭通知,这类告警在 Flashduty 中不会自动恢复。请开启协作空间的超时自动关闭,建议设置为 7 天;也可以在续期证书后手动关闭。

常见问题


不会。Odown 编辑页的测试按钮发送文档中的示例监控(名称为 Check name、地址为 https://example.com),Flashduty 识别后返回成功,不创建告警。如果您的真实监控恰好使用这个名称和地址,它的通知也会被忽略。
不会。同一个监控的通知携带相同的 check.id,会合并到同一条告警中。

排查问题


  • Odown 推送失败:确认 Webhook URL 是完整的推送地址,且包含 integration_key
  • Flashduty 返回参数错误:确认请求为 Odown 的 JSON 通知,且 check.id、event 非空
  • 告警没有恢复:确认监控恢复时仍使用同一个 Webhook 通道;恢复通知与宕机通知的 check.id 必须相同
字段说明请参阅 Odown 官方文档 Using Webhooks。