Skip to main content
:::tips Flashduty On-call 已经适配了大部分常用告警系统的 webhook 协议,对于这些系统您应该首先使用对应的集成,更加简单方便。本集成提供了一个标准的 HTTP 接口,需要您开发适配。好处是您可以推送任何你想进行oncall的告警事件。 :::

操作步骤


在 Flashduty On-call

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

使用专属集成

当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
  1. 进入 Flashduty 控制台,选择 协作空间,进入某个空间的详情页面
  2. 选择 集成数据 tab,点击 添加一个集成,进入添加集成页面
  3. 选择 标准告警事件 集成,点击 保存,生成卡片。
  4. 点击生成的卡片,可以查看到 推送地址,复制备用,完成。

使用共享集成

当您需要根据告警事件的 Payload 信息,将告警路由到不同的协作空间,优先选择此方式。
  1. 进入 Flashduty 控制台,选择 集成中心=>告警事件,进入集成选择页面。
  2. 选择 标准告警事件 集成:
    • 集成名称:为当前集成定义一个名称。
  3. 配置默认路由,并选择对应的协作空间(集成创建后可以前往 路由 进行更多路由规则的配置)。
  4. 点击 保存 后,复制当前页面的新生成的 推送地址 备用。
  5. 完成。

一、请求描述


请求方式

POST, Content-Type:“application/json”

请求参数:

Headers:

Query Strings:

Payload:

image 结构体

请求响应

Data: Error: Code:

二、请求示例


请求:
成功响应:
失败响应:

三、最佳实践


  1. 当告警状态发生变更时,向 Flashduty发送事件
  2. 当告警恢复时,发送一个 status 为 Ok 的事件,来关闭告警。否则,告警将一直处于打开状态。如果您的告警系统没有恢复事件,建议您手动发送恢复事件
  3. 标签是事件的描述,应尽量丰富标签内容(发送时指定,或者通过配置 enrichment 规则来生成新的标签),比如:
    • 告警的发生来源,如 host,cluster,check 或 metric 等
    • 告警的归属信息,如 team,owner 等
    • 告警的类别信息,如 class(api,db,net)

四、常见问题


在 Flashduty On-call

  1. 查看集成是否展示了 最新事件时间?如果没有,代表Flashduty没有收到推送,直接优先您的系统。
  2. 如果您使用的是 共享集成,优先确认您是否配置了 路由规则。不设置路由规则,系统会直接拒绝新的推送,因为没有协作空间可以承接您的告警。这种情况下,直接配置路由规则到您期望的空间即可。

在您的系统

  1. 确认您请求的地址,和集成详情中的地址完全一致。
  2. 确认您的服务可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为 server 开通外网,或单独针对 Flashduty 的域名开通外网访问。
  3. 打印 Flashduty 服务的响应结果,查看是否有明确信息。
如果以上步骤执行之后,仍然没有查询到问题根因,请 携带请求响应中的 request_id 联系我们。
Flashduty On-call 使用2层降噪机制:
  1. 首先对告警event进行去重检查,如果您推送的event和之前推送的event内容完全一致,则新的event将被直接丢弃。
  2. 如果新的event的状态和描述和其对应的告警的上一条event的状态、标题、描述均一致,则新的event将被直接丢弃,同时更新归属告警属性。
  3. 新的event可能由于匹配到排除、丢弃、抑制或静默规则,而被丢弃。
  4. 当新的event触发了新告警,则系统会进入第二层降噪检查,判断新告警是否可以被合并到某个活跃的故障中,如果可以,则只会并入已有的故障,而不会产生新故障。
更多内容请参考 告警降噪