在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Imperva,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Imperva,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Imperva 中配置
1
新增 Webhook Connection
- 登录
my.imperva.com,在顶部菜单选择 Account → Account Management - 在侧边栏选择 Webhook Connections,点击 Add Webhook
- 填写 Name,在 URL 中粘贴 Flashduty 的完整推送地址(包含
integration_key) - Secret Token 可留空。Imperva 会把它放在自定义请求头里随每次请求发送,Flashduty 不校验该请求头
- 点击 Test Webhook 发送测试请求,确认地址可达,然后保存
2
在通知策略中选择该 Webhook
新增或编辑通知策略,在 Recipients 的 Channel 中选择刚创建的 Webhook Connection。建议为下面”事件与恢复”表中的通知子类型(Website DDoS、Website Group DDoS、Individual IP Protection、Network Protection、Network Connectivity)各建一条策略。
3
验证
在 Webhook Connection 上点击 Test Webhook。Flashduty 会创建一条 Info 级别的测试告警,标题形如
Hello World Test - <Webhook 名称>。测试没有对应的恢复通知,验证后请手动关闭。事件与恢复
- Imperva 的载荷没有严重程度字段,等级由事件类型决定。DDoS 开始事件表示攻击已被 Imperva 拦截或正在切换清洗,记为 Warning;BGP 连接中断和需要人工确认的攻击告警记为 Critical
- 结束事件(
...Stop、BgpUp、PerformanceRestored)会把同一对象的告警恢复 MonitoringAttackStartCritical和TrafficStartDivert没有对应的结束通知,每次事件产生一条独立告警。请在协作空间中开启超时自动关闭,建议 24 小时- 账号、站点、账单、订阅、策略变更、IP 段状态变化等其他通知类型不会产生告警,Flashduty 收到后直接返回成功
Alert Key
Alert Key 由事件类别、Imperva 账号 ID 和对象标识计算,开始事件和结束事件使用相同的字段:
标题、事件时间、载荷中的账号名和 Webhook ID 不参与计算。缺少事件类型(
event_type)或缺少所属类别的对象标识时,请求会被拒绝并返回错误,错误信息指出缺失的字段。
标签
告警标题取自
event_title,描述取自 event_details.event_body。
排查问题
- Test Webhook 报失败:Imperva 要求接收端返回 200 或 201。确认推送地址完整、
integration_key有效,且集成类型为 Imperva - 没有收到告警:确认通知策略的 Recipients 选择了这个 Webhook Connection,且事件类型在上表中。表外的事件类型不会产生告警
- 告警一直未恢复:确认恢复事件对应的通知子类型也已加入通知策略;
MonitoringAttackStartCritical与TrafficStartDivert不会自动恢复 - 收到返回 400:请求缺少
event_type,或缺少对象标识字段,返回信息会指出字段名