Skip to main content
Fleet 是开源的端点管理和 osquery 平台。通过 Fleet 的自动化 Webhook,可以把两类事件同步到 Flashduty On-call,每台主机对应一条告警:
  • 策略失败:某条策略在主机上从通过(或无结果)变为失败时,Fleet 推送一次。
  • 新漏洞:Fleet 在主机上发现新的 CVE 时推送,默认每小时检查一次。
Fleet 的这两类 Webhook 只在事件发生时推送一次,不会发送恢复通知,因此 Flashduty 中的告警不会自动恢复,需要配置 超时自动关闭(见下文)。

在 Flashduty On-call


您可通过以下两种方式获取集成推送地址,任选其一即可。

使用专属集成

  1. 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
  2. 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
  3. 选择 Fleet,点击 保存
  4. 打开生成的集成卡片,复制 推送地址

使用共享集成

  1. 进入 Flashduty 控制台,选择 集成中心 → 告警事件
  2. 选择 Fleet,填写集成名称
  3. 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
  4. 点击 保存,复制生成的 推送地址

在 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 编号和主机编号共同计算
两者都是 Fleet 数据库中的编号,在同一个 Fleet 实例内保持不变。策略名称、主机名、失败主机计数等变化不会改变 Alert Key。缺少策略编号、CVE 编号或主机编号的推送会被拒绝,并在错误信息中指出字段名。

告警等级


策略的 critical 选项需要 Fleet Premium 许可证,免费版 Fleet 设置时会返回 option critical requires a premium license。因此在免费版 Fleet 上,所有策略告警都是 Warning。

标签


推送中的策略查询语句、作者信息和软件安装路径不会保存到标签中。

排查问题


  • Flashduty 返回参数错误:错误信息会指出缺少的字段;如果提示只支持策略失败和漏洞 Webhook,请检查是否把主机状态或活动 Webhook 指向了此地址
  • 没有收到告警:策略 Webhook 只在策略由通过变为失败时触发,一直处于失败的主机不会再次推送;主机按 FLEET_OSQUERY_POLICY_UPDATE_INTERVAL(默认 1 小时)执行策略,结果变化后才会推送
  • 告警一直不关闭:Fleet 不发送恢复通知,请开启 超时自动关闭
更多字段含义请参阅 Fleet 自动化。