Skip to main content
通过 NodePing 联系人(Contact)中的 Webhook 联系方式,把检查(Check)的宕机(down)和恢复(up)通知同步到 Flashduty On-call。每个 NodePing 检查对应一条 Flashduty 告警:检查宕机时触发,检查恢复时关闭这条告警。

在 Flashduty On-call


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

使用专属集成

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

使用共享集成

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

在 NodePing 中配置


1

添加 Webhook 联系方式

  1. 登录 NodePing,进入 Checks & Contacts → Contacts,点击 Add new contact
  2. Name 可填写 Flashduty
  3. 在联系方式的类型下拉框中选择 Webhook
  4. 请求方法保持 GET(默认值),将 Flashduty 集成的完整推送地址粘贴到 URL 输入框
  5. 不需要填写 Query Strings、Headers 或 Body,点击 Save
NodePing 的 Webhook 通知仅在 Professional 和 Premiere 套餐中提供(可先开通 15 天免费试用)。
2

关联检查

进入 Checks & Contacts → Checks,编辑需要接入的检查,在通知(Notifications)区域选择刚创建的 Flashduty Webhook 联系方式并保存。也可以把它加入联系人组或通知配置(Notification Profile),再关联到多个检查。
3

验证生命周期

让一个检查真正宕机(例如临时把目标改成一个不可访问的地址),确认 Flashduty 收到活动告警;再恢复检查目标,确认原告警恢复。
请求方法必须保持 GET,并且不要自定义 Query Strings 或 Body。只有在只填写 URL 时,NodePing 才会把下文的默认字段追加到查询字符串中,Flashduty 依靠这些字段识别检查和状态。

推送内容


NodePing 以 GET 请求把以下字段追加到推送地址的查询字符串中,Flashduty 直接解析,无需配置模板: 告警标题使用检查名称;检查名称为空时依次使用检查目标、NodePing check <uuid>。

Alert Key


Flashduty 使用检查的 uuid 作为 Alert Key。同一个检查的宕机和恢复通知携带相同的 uuid,因此会落在同一条告警上;不同检查即使名称和目标相同,也会生成不同的告警。修改检查名称、目标或结果码不会改变 Alert Key。 _id 是单次检查结果的 ID,每次通知都会变化,所以不用于关联告警。请求中缺少 uuid 时,Flashduty 会返回参数错误,因为无法可靠地把恢复通知关联到原告警。

状态和告警等级


NodePing 的通知不区分告警等级,Flashduty 统一按 Critical 处理。 first 表示监控已开始、这个 Webhook 已登记为通知目标,与故障无关,所以 Flashduty 只返回成功。event 为空或为其他值的请求会被拒绝,避免把无法判断状态的请求写入错误的告警生命周期。

常见问题


只填写 URL 时,NodePing 会自动带上完整的检查信息,不需要编写和维护模板;NodePing 文档也没有说明模板中的值是否会做 JSON 转义,检查名称或消息中的引号、换行可能让请求体变成非法 JSON。因此 Flashduty 的 NodePing 集成只接收默认的 GET 请求。
NodePing 按联系方式上的延迟(Delay)和时间窗(Schedule)决定是否推送。检查在延迟结束前恢复时,NodePing 不会发送宕机通知,Flashduty 也不会产生告警。为了让恢复通知能关闭告警,宕机和恢复通知应推送到同一个 Webhook 联系方式,且不要单独屏蔽 up 通知。
请确认检查已启用、Webhook 联系方式没有被静音(Mute),并且宕机状态已经过检查灵敏度(Sensitivity)设置的复查次数。

排查问题


  • NodePing 推送失败:确认 URL 是完整的推送地址,且包含 integration_key;请求方法为 GET
  • Flashduty 返回参数错误:确认没有自定义 Query Strings 或 Body,请求中的 uuid、event 非空
  • 告警没有恢复:确认恢复时检查仍关联同一个 Webhook 联系方式,且没有屏蔽 up 通知
字段说明请参阅 NodePing 官方文档 Webhook Notifications。