在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增集成
- 选择 Tactical RMM,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Tactical RMM,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Tactical RMM 中配置
需要创建两个 Webhook(失败一个、恢复一个),再把它们绑定到告警模板。两个 Webhook 的 URL 都是 Flashduty 推送地址,请求体只有status 不同。
1
在 Tactical RMM 中创建“失败”Webhook
操作路径:Tactical RMM › Settings › Global Settings › Web Hooks › Add Web Hook请使用 Web Hooks 标签页,不是 URL Actions。Request Body:
Request Headers:
2
在 Tactical RMM 中创建“恢复”Webhook
操作路径:Tactical RMM › Settings › Global Settings › Web Hooks › Add Web Hook
没有“恢复”Webhook 时,Flashduty 中的告警不会自动恢复。
3
在 Tactical RMM 中把 Webhook 绑定到告警模板
操作路径:Tactical RMM › Settings › Alerts Manager
Tactical RMM 默认只对 Error 级别(如代理离线)和 Warning 级别的告警执行 Webhook,Info 级别的告警默认不发送。需要 Info 时,在 Settings › Global Settings › General 的 Receive notifications on 中勾选 Informational Alerts。
4
保存并验证
操作路径:Tactical RMM › Settings › Global Settings › Web Hooks › Test
- 在 Webhook 编辑页点击 Test,测试对象类型选 None(不选择代理、站点或客户)。Flashduty 会创建一条 Info 级别的测试告警,标题为
Tactical RMM test notification,它不会自动恢复,验证后请手动关闭。Tactical RMM 的文档说明测试模式下{{alert.XXX}}变量不可用;选择了测试对象时变量可能被替换成其他值,Flashduty 会因alert_type无效返回参数错误。因此 Test 只能证明地址可达,请用真实告警验证 - 让一个告警真实触发(例如停止一台测试代理),确认 Flashduty 收到活动告警
- 告警恢复后,确认 Flashduty 中对应的告警恢复
事件类型
Alert Key
Flashduty 使用alert_id(即 {{alert.id}},Tactical RMM 中这条告警记录的编号)计算 Alert Key。同一条告警的失败和恢复 Webhook 渲染自同一条记录,编号相同。同一对象在恢复后再次失败会产生新的告警记录,因此在 Flashduty 中是一条新告警。严重程度、消息、主机名变化不会改变 Alert Key,缺少 alert_id 的请求会被拒绝。
一个 Flashduty 集成对应一个 Tactical RMM 实例。多个 Tactical RMM 实例的告警编号可能重复,请为每个实例创建各自的集成。
状态和告警等级
status 为 resolved 时告警恢复,保留最后一次的告警等级。
标签
排查问题
- Flashduty 返回参数错误:错误信息会指出问题字段。常见原因是请求体缺少
alert_id,或alert_type不是availability、check、task、custom之一(例如用 Test 按钮时选择了测试对象) - 告警没有恢复:确认已配置“恢复”Webhook 并绑定到告警模板的 Resolved Web Hook,且其
status为resolved;可在 Tactical RMM 的告警详情中查看动作的返回结果 - Flashduty 没有收到任何推送:确认告警模板已应用到对应的代理,且告警等级没有被 Info/Warning 通知开关过滤
- 请求体不是合法 JSON:
{{alert.message}}的内容含有双引号时,Tactical RMM 渲染出的 JSON 会失效,此时 Flashduty 会拒绝该请求。可从模板中删除message行,Flashduty 会用告警类型和主机名生成标题 - 测试告警没有关闭:Test 按钮的推送不会恢复,需手动关闭