- 主机被收录到黑名单或被移出黑名单
- 证书临近到期、证书出现错误、证书指纹反复变化、证书被替换
- 监控探针停止上报
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 RBLTracker,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 RBLTracker,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 RBLTracker 中配置
1
添加 Webhook
- 登录 RBLTracker(Generator Labs)控制台,进入 Development → Webhooks,点击 Add Webhook
- Display Name 填写便于识别的名称,如
Flashduty - URL 粘贴 Flashduty 集成的完整推送地址,地址中需包含
integration_key - 在 Events 中勾选需要同步的事件(见下表),点击保存
账单类事件(
billing.*)和 rbl.host.check.started、rbl.host.check.completed 不需要勾选:Flashduty 收到后返回成功,但不会创建告警。2
发送测试并验证
在 Webhooks 列表中点击目标 Webhook 的 Send Test,选择一个事件类型发送。RBLTracker 会显示响应状态码和耗时,返回
200 说明地址可达。Send Test 会用占位对象(主机 Test Host、地址 127.0.0.2,证书监控项 example.com,探针 Test Agent)发送所选事件,且每次发送的对象 SID 都是随机的。Flashduty 识别出这些占位对象后只返回成功,不创建告警。要验证完整生命周期,可以在 RBLTracker 中添加一台已知被收录的测试主机,确认 Flashduty 收到 rbl.host.listed 对应的活动告警,主机被移出黑名单后确认告警恢复。Alert Key
Flashduty 用 RBLTracker 事件中对象的 SID 作为 Alert Key,并按事件类别加前缀:
RBLTracker 官方 API 文档中,同一台主机的
rbl.host.listed 与 rbl.host.delisted 携带相同的 host.sid,证书事件携带 monitor.sid,探针事件携带 agent.sid。cert.flapping 在官方文档中只有文字描述,没有完整示例,Flashduty 按其他证书事件的结构读取 monitor.sid。
主机名称、命中的黑名单数量、检查 SID(check_sid)和事件 SID(event_sid)的变化都不会改变 Alert Key。缺少对应 SID 的事件会被拒绝。
状态和告警等级
告警状态由事件类型决定,恢复事件见上表。RBLTracker 不发送告警等级,Flashduty 按事件类型设置:
一次性事件的自动关闭
cert.changed 是单次通知,RBLTracker 不会发送对应的恢复事件。同一监控项每次证书替换都会产生一条独立告警,这些告警不会自动恢复。请开启协作空间的超时自动关闭,建议设置为 24 小时。
标签
推送与重试
RBLTracker 以
application/json POST 推送,Flashduty 返回 2xx 视为成功。推送失败(非 2xx、超时或连接错误)会在 30 秒和 2 分钟后各重试一次,重试使用相同的事件 SID,不会产生重复告警。连续失败达到 10、20、30 次时 RBLTracker 会分别暂停推送 1 小时、6 小时、1 天,达到 40 次会停用该 Webhook,需要在 Development → Webhooks 中重新启用。
RBLTracker 会在每次推送中带上 X-Webhook-Signature 签名头。Flashduty 通过推送地址中的 integration_key 鉴权,不校验该签名头。
排查问题
- RBLTracker 显示推送失败:确认 URL 完整且包含
integration_key,并在 Send Test 的结果中查看响应状态码 - Flashduty 返回参数错误:请求体必须是 RBLTracker 的 JSON 推送,缺少
host.sid、monitor.sid或agent.sid的事件会被拒绝 - 告警没有恢复:确认已同时勾选对应的恢复事件;
cert.error.resolve仅在current_errors为空时恢复告警;cert.changed不会恢复,请开启超时自动关闭 - 主机仍被收录时告警多次更新:API 文档称
rbl.host.listed在检查发现主机被收录时推送,同一主机的多次推送合并到同一条告警 - Webhook 被停用:连续失败 40 次后 RBLTracker 会停用 Webhook,修复地址后在 Development → Webhooks 中重新启用