跳转到主要内容
通过 LimaCharlie 的 Webhook 输出(Output),将 D&R 规则命中后产生的检测(Detection)同步到 Flashduty On-call。每条检测对应一条 Flashduty 告警。 LimaCharlie 检测只在命中时发送一次,没有对应的恢复通知,因此告警不会自动恢复。请在协作空间中开启超时自动关闭,见下文 告警不会恢复。

在 Flashduty On-call

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

使用专属集成

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

使用共享集成

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

在 LimaCharlie 中配置

1

在 LimaCharlie 中新增 Webhook 输出

操作路径:LimaCharlie 控制台(选择目标组织) › Outputs › Add Output保存后,组织内每条检测都会向该地址发送一次 POST,请求体为 LimaCharlie 的检测 JSON。
2

确认 LimaCharlie 中有 D&R 规则产生检测

操作路径:LimaCharlie 控制台 › Automation › D&R RulesWebhook 输出只转发检测。请确认组织中已启用会产生检测的 D&R 规则(自建规则或托管规则集)。只想转发部分检测时,可以在输出上设置分类或标签过滤。
3

在 LimaCharlie 中验证连通性

操作路径:LimaCharlie 控制台 › Outputs › Add Output(测试输出)输出的 Stream 只能在新建时选择,创建后无法修改。要先验证地址可达,可以另建一个测试输出:Stream 选择 Audit Logs,Destination 选择 Webhook,DESTINATION HOST 填同一个推送地址。然后在组织内做一次管理操作(例如停用再启用一条 D&R 规则)触发审计事件。Flashduty 对非检测的请求返回 200,不创建告警,因此这一步只验证地址可达。验证完成后删除这个测试输出。真实验证需要让 D&R 规则命中一次,回到 Flashduty,集成显示 最新事件时间,说明配置成功。

Alert Key

Flashduty 使用检测的 detect_id 作为 Alert Key。LimaCharlie 官方文档将其定义为唯一的检测标识;同一条检测被重发时 detect_id 不变,会合并到同一条告警,不同检测各自成为独立告警。 cat(检测名称)、priority 和时间不参与 Alert Key。请求中没有 detect_id 但有 cat 时,Flashduty 会返回参数错误;detect_id 和 cat 都没有的请求返回成功并被忽略。

状态和告警等级

LimaCharlie 只提供可选的整数 priority(0 到 10),没有等级定义,下表是 Flashduty 的划分:

字段映射

命中的原始事件(detect)和提取的 IOC(detect_data)不写入标签。

告警不会恢复

检测是一次性事件,LimaCharlie 不会发送恢复通知。请在接收该集成的协作空间中开启 超时自动关闭,建议 24 小时,并按团队处理检测的时效调整。

排查问题

输出失败时 LimaCharlie 会临时停用它,一段时间后自动恢复,也可以编辑输出配置来立即重新启用。请确认 DESTINATION HOST 是完整的推送地址,并在 LimaCharlie 的 Platform Logs 的 Errors 中查看 outputs/<输出名> 的错误详情。
确认输出的 Stream 是 Detections,且使用的是 Webhook 而不是 Webhook Bulk。Audit Logs、Events、Deployments 流的请求会被 Flashduty 接收但不创建告警。
请求体必须是 JSON;有 cat 时 detect_id 必须非空(两者都没有的请求返回成功并被忽略)。使用了 custom_transform 改写请求体时,请保留 cat 和 detect_id 字段。
更多字段含义请参阅 LimaCharlie 文档中的 Webhook 输出 和输出流结构说明。