操作步骤
在 Flashduty
您可通过以下2种方式,获取一个集成推送地址,任选其一即可。使用专属集成
使用专属集成
当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
- 进入 Flashduty 控制台,选择 协作空间,进入某个空间的详情页面
- 选择 集成数据 tab,点击 添加一个集成,进入添加集成页面
- 选择 标准告警事件 集成,点击 保存,生成卡片。
- 点击生成的卡片,可以查看到 推送地址,复制备用,完成。
使用共享集成
使用共享集成
当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。
- 进入 Flashduty 控制台,选择 集成中心=>告警事件,进入集成选择页面。
- 选择 标准告警事件 集成:
- 集成名称:为当前集成定义一个名称。
- 配置默认路由,并选择对应的协作空间(集成创建后可以前往
路由进行更多路由规则的配置)。 - 点击 保存 后,复制当前页面的新生成的 推送地址 备用。
- 完成。
一、请求描述
请求方式
POST, Content-Type:“application/json”
请求参数:
请求响应
Data:
Error:
Code:
二、请求示例
请求:
三、字段映射与值映射
如果您的系统推送的 JSON 格式无法直接匹配上述标准 Payload 结构,可以在集成设置中配置 字段映射 和 值映射,让 Flashduty 自动将任意格式的 JSON 转换为标准告警事件。
字段映射
使用{{变量路径}} 语法引用原始 JSON 中的字段,将其映射到标准告警事件的目标字段。
支持的目标字段:
变量语法:
- 用
.分隔路径层级,如{{data.severity}}引用嵌套字段 - 当整个值只有一个变量时(如
"{{tags}}"),会保留原始数据类型(对象、数组等) - 当变量与其他文本混合时(如
"{{host}} - {{check}}"),变量会被转为字符串拼接
- 通配符展开:
"labels": "{{tags}}"— 将tags对象的所有子字段展开为标签 - 逐个映射:
"labels": {"env": "{{tags.env}}", "host": "{{hostname}}"}— 每个标签单独映射
值映射
当源系统的字段值与 Flashduty 标准不一致时(如严重程度使用high 而非 Critical),可以配置值映射进行自动转换。
值映射按字段路径分组配置,每个路径下是一个 源值 → 目标值 的映射表。
示例:
"severity": "high" 会先通过字段映射提取,再通过值映射转换为 Critical,最终写入 event_status 字段。
四、最佳实践
- 当告警状态发生变更时,向 Flashduty发送事件
- 当告警恢复时,发送一个 status 为 Ok 的事件,来关闭告警。否则,告警将一直处于打开状态。如果您的告警系统没有恢复事件,建议您手动发送恢复事件
- 标签是事件的描述,应尽量丰富标签内容(发送时指定,或者通过配置 enrichment 规则来生成新的标签),比如:
- 告警的发生来源,如 host,cluster,check 或 metric 等
- 告警的归属信息,如 team,owner 等
- 告警的类别信息,如 class(api,db,net)
五、常见问题
为什么在Flashduty没有收到告警?
为什么在Flashduty没有收到告警?
在 Flashduty
- 查看集成是否展示了 最新事件时间?如果没有,代表Flashduty没有收到推送,直接优先您的系统。
- 如果您使用的是 共享集成,优先确认您是否配置了 路由规则。不设置路由规则,系统会直接拒绝新的推送,因为没有协作空间可以承接您的告警。这种情况下,直接配置路由规则到您期望的空间即可。
- 确认您请求的地址,和集成详情中的地址完全一致。
- 确认您的服务可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为 server 开通外网,或单独针对 Flashduty 的域名开通外网访问。
- 打印 Flashduty 服务的响应结果,查看是否有明确信息。
为什么推送请求成功?但是没有看到新告警或故障产生?
为什么推送请求成功?但是没有看到新告警或故障产生?
Flashduty 使用2层降噪机制:
- 首先对告警event进行去重检查,如果您推送的event和之前推送的event内容完全一致,则新的event将被直接丢弃。
- 如果新的event的状态和描述和其对应的告警的上一条event的状态、标题、描述均一致,则新的event将被直接丢弃,同时更新归属告警属性。
- 新的event可能由于匹配到排除、丢弃、抑制或静默规则,而被丢弃。
- 当新的event触发了新告警,则系统会进入第二层降噪检查,判断新告警是否可以被合并到某个活跃的故障中,如果可以,则只会并入已有的故障,而不会产生新故障。