cond.Alarm)创建 Webhook 订阅后,告警的创建、变更和清除都会同步到 Flashduty On-call。每个 Intersight 告警对应一条 Flashduty 告警:告警创建时触发,严重程度变化时更新,Intersight 将其清除(Cleared)时自动恢复。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Cisco Intersight,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Cisco Intersight,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Cisco Intersight 中配置
1
创建 Webhook
- 登录 Cisco Intersight,进入 Settings → Webhooks
- 新建 Webhook,填写名称,并把 Flashduty 集成的完整推送地址粘贴到 Webhook URL,地址中需包含
integration_key - Secret 字段由您自行定义一个字符串。Intersight 用它对请求签名,Flashduty 不校验签名,填写任意值即可
2
订阅告警对象
在该 Webhook 中添加订阅,对象类型选择告警
cond.Alarm,事件类型选择创建(Created)和更新(Modified)。必须订阅更新事件:告警严重程度变化和清除都是对同一个告警的更新,漏掉更新会导致告警无法自动恢复。只订阅 cond.Alarm。其他对象类型(例如 workflow.WorkflowInfo)的推送会被 Flashduty 拒绝并返回对象类型错误。3
保存并验证
- Intersight 可能发送一条不带告警的请求(
EventObjectType为空、Event为 null、Operation为None),即 Cisco Webhook 校验指南中给出的请求形态;Cisco 没有说明它的具体发送时机。Flashduty 收到这种请求会创建一条 Info 级别的测试告警,标题为Cisco Intersight test notification,它不会自动恢复,请手动关闭 - 等待设备产生告警(或在测试环境中制造一个故障),确认 Flashduty 收到对应告警;告警清除后确认 Flashduty 告警变为已恢复
事件类型
Alert Key
Flashduty 使用告警对象的
Moid(Intersight 为每个告警分配的固定编号)作为 Alert Key。同一个告警的创建、更新、清除使用相同的 Alert Key;名称、描述、严重程度、时间的变化不会改变它,缺少 Moid 的请求会被拒绝。
状态和告警等级
标签
关于签名
Intersight 使用您设置的 Secret 对请求做 HMAC 签名(
Authorization 和 Digest 请求头)。Flashduty 不校验签名,推送地址中的 integration_key 是唯一的凭证,请妥善保管。
排查问题
- Flashduty 没有收到推送:确认 Webhook URL 完整且包含
integration_key,并且 Intersight 能访问公网 - 返回参数错误:提示对象类型不支持时,说明订阅了
cond.Alarm以外的对象;提示缺少Moid时,说明推送的不是告警对象 - 告警没有恢复:确认订阅中包含更新(Modified)事件,告警清除是以更新事件推送的
- 测试告警没有关闭:测试请求产生的 Info 告警需要手动关闭