快速入门
title: "Webhook 快速入门"
description: "Flashduty Webhook 快速入门。"
date: "2024-11-20T10:00:00+08:00"
url: "https://developer.flashcat.cloud/zh/flashduty/webhook/quickstart"
FlashDuty 支持将故障和告警的变化实时推送到第三方系统,比如工单平台或故障自愈系统,可实现信息同步和加速处理的目的。
Webhook 类型
- 故障 Webhook:故障发生变化时,进行推送;
- 告警 Webhook:告警发生变化时,进行推送。
Webhook 订阅
您可以前往 控制台-集成中心-Webhook
页面,添加 Webhook 实例。
推送方式
目前仅支持通过 HTTP/HTTPS 协议,POST 方法进行推送,请求的Payload 为 JSON。
假设您的服务地址为https://example.com/webhook?a=a
,实际推送请求为:
curl -X POST 'https://example.com/webhook?a=a' -H 'Content-Type: application/json' -d '{payload}'
Headers
我们支持推送时,按照您的定义推送 Headers,注意在一个 Webhook 下 Header 需要保证唯一。
事件范围
您可以指定订阅某个协作空间的事件,也可以筛选事件类型。注意故障和告警的事件类型有所不同,具体请参考对应文档。
常见问题
服务是否有响应超时时间?
- 服务需要在 1 秒内返回响应,超过 1 秒则认为响应失败。
推送失败后是否会持续推送?
- 目前 FlashDuty 最多推送一次,未来可能会引入重试机制,也可能因为中间链路超时导致重试,您需要做好幂等处理。
如何保证推送顺序?
- 理论上同一个告警的事件是按照时间顺序进行推送,但是重试等情况可能会导致乱序;
- 服务可以根据 event_time 进行过滤,如果已经收到了更晚的事件,可以直接过滤掉更早的事件,每一次推送都会携带最新的、完整的信息,偶尔丢失事件是可以容忍的。
推送来源可信 IP 白名单?
- 47.94.95.118, 123.56.8.183, 47.94.193.81, 1.13.19.96;
- 未来可能会更新,请定期查验。
最后修改时间: 7 小时前