- 策略失败:某条策略在主机上从通过(或无结果)变为失败时,Fleet 推送一次。
- 新漏洞:Fleet 在主机上发现新的 CVE 时推送,默认每小时检查一次。
在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 Fleet,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 Fleet,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 Fleet 中配置
Fleet 的 Webhook 在管理后台的 Manage automations 中启用,也可以通过 GitOps / 配置文件设置,下面以配置文件为例。两种 Webhook 的
destination_url 都填 Flashduty 集成的完整推送地址,地址中需包含 integration_key。
1
策略失败 Webhook
policy_ids:触发 Webhook 的策略编号列表host_batch_size:一次请求最多包含的主机数。默认值0表示把所有失败主机放进同一个请求,建议设为不超过 200 的数值(Flashduty 每次推送最多处理 200 台主机)
2
漏洞 Webhook
3
不要启用主机状态和活动 Webhook
Fleet 的主机状态(host status)和活动(activity)Webhook 没有对应到单个对象的编号,Flashduty 收到后返回参数错误,请不要把它们指向这个推送地址。
4
验证
Fleet 文档没有描述 Webhook 的测试推送按钮。请让一台主机上的某条已选策略由通过变为失败,Fleet 默认每天检查一次策略 Webhook(可通过
webhook_settings.interval 调整),之后在 Flashduty 中确认告警出现。主机按 FLEET_OSQUERY_POLICY_UPDATE_INTERVAL 设置的间隔(默认 1 小时)执行策略,因此第一条告警可能要等这么久才出现。事件和恢复
一次推送可能包含多台主机,Flashduty 按主机编号排序后逐台处理,每次推送最多处理 200 台,超出部分忽略,请用
host_batch_size 控制批量大小。
主机修复后 Fleet 不会通知 Flashduty。请在接收这些告警的协作空间中开启 超时自动关闭,建议窗口为 24 小时到 7 天,具体取决于你们处理策略失败的周期。同一主机上的同一条策略再次失败(例如 Fleet 中重置了该策略)时,会合并到同一条告警。
Alert Key
- 策略失败:由策略编号(
policy.id)和主机编号(hosts[].id)共同计算 - 漏洞:由 CVE 编号和主机编号共同计算
告警等级
策略的
critical 选项需要 Fleet Premium 许可证,免费版 Fleet 设置时会返回 option critical requires a premium license。因此在免费版 Fleet 上,所有策略告警都是 Warning。
标签
推送中的策略查询语句、作者信息和软件安装路径不会保存到标签中。
排查问题
- Flashduty 返回参数错误:错误信息会指出缺少的字段;如果提示只支持策略失败和漏洞 Webhook,请检查是否把主机状态或活动 Webhook 指向了此地址
- 没有收到告警:策略 Webhook 只在策略由通过变为失败时触发,一直处于失败的主机不会再次推送;主机按
FLEET_OSQUERY_POLICY_UPDATE_INTERVAL(默认 1 小时)执行策略,结果变化后才会推送 - 告警一直不关闭:Fleet 不发送恢复通知,请开启 超时自动关闭