- 主机被收录到黑名单或被移出黑名单
- 证书临近到期、证书出现错误、证书指纹反复变化、证书被替换
- 监控探针停止上报
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增集成
- 选择 RBLTracker,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 RBLTracker,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 RBLTracker 中配置
1
添加 Webhook
操作路径:RBLTracker(Generator Labs)Portal › Development › Webhooks › Add Webhook
填写完成后保存。
账单类事件(
billing.*)和 rbl.host.check.started、rbl.host.check.completed 不需要勾选:Flashduty 收到后返回成功,但不会创建告警。2
在 RBLTracker 中发送测试并验证
操作路径:RBLTracker(Generator Labs)Portal › Development › Webhooks › Send Test在 Webhooks 列表中点击目标 Webhook 的 Send Test,在 Event 下拉框中选择一个事件类型,点击 Sent Test Request(官方按钮拼写如此)。RBLTracker 会显示响应状态码和耗时,返回
200 说明地址可达。Send Test 只能验证连通性,不会在 Flashduty 产生告警。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 的事件会被拒绝;cert.changed 缺少 new_fingerprint 时同样被拒绝。
状态和告警等级
告警状态由事件类型决定,恢复事件见上表。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 中重新启用