跳转到主要内容
在夜莺/Flashcat 的 v8.0.0-beta.7 版本之后(含 beta.7),可以直接在告警通知规则中配置协作空间,不再需要使用路由规则。

使用限制


在夜莺

  • 您必须拥有修改 系统配置=>全局通知告警管理=>告警规则 的权限。
  • 您的夜莺 server 必须能够访问域名 api.flascat.cloud,将告警推送到外网。

支持版本


本文适配 夜莺 V5 和 V6 版本。

操作步骤


在 Flashduty On-call

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

使用专属集成

当您不需要将告警事件路由到不同的协作空间,优先选择此方式,更简单。
  1. 进入 Flashduty 控制台,选择 协作空间,进入某个空间的详情页面
  2. 选择 集成数据 tab,点击 添加一个集成,进入添加集成页面
  3. 选择 夜莺/Flashcat 集成,点击 保存,生成卡片。
  4. 点击生成的卡片,可以查看到 推送地址,复制备用,完成。
  5. (可选)点击生成的卡片,点击 编辑 按钮,选择 控制台地址,输入夜莺控制台地址(仅域名部分),Flashduty On-call 会为新告警生成一个夜莺详情跳转链接。

使用共享集成

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

在夜莺/Flashcat

在夜莺/Flashcat v8.0.0-beta.7 + 版本中配置

在新版本中,虽然您可以直接在告警通知规则中配置协作空间,但您仍然需要在 Flashduty 中创建协作空间并配置分派策略等。

步骤 1:添加通知媒介

  1. 登录您的 n9e 控制台,选择 告警管理 > 通知媒介,并点击新增。
  2. 填写媒介名称和标识,选择 Flashduty 类型,URL 填写 Flashduty 的 推送地址
  3. 点击 保存 后,完成。
drawing

步骤 2:配置通知规则

  1. 登录您的 n9e 控制台,选择 告警管理 > 通知规则,并点击新增或编辑已有的告警规则。
  2. 基础信息部分按需配置即可。
  3. 在通知配置中选择上一步添加的 Flashduty 通知媒介。
  4. 选择通过此规则生成的告警应发送到的协作空间(协作空间需提前在 Flashduty 中创建),其他按需选择。
  5. 点击 保存 后,完成。
drawing

步骤 3:告警规则中选择通知规则

  1. 登录您的 n9e 控制台,选择 告警管理 > 告警规则,并点击新增或编辑已有的告警规则。
  2. 在通知配置中选择上一步添加的 Flashduty 通知规则,其他按需选择。
  3. 点击 保存 后,完成。
drawing

在夜莺/Flashcat v5.5~v8.0.0-beta.6 版本中配置

两种配置方式任选其一

方式 1:按策略配置

批量选择告警规则并配置 webhook。
  1. 登录您的 n9e 控制台,选择 告警管理 > 告警规则,进入告警规则列表页面
  2. 批量选中您期望导入的告警规则,右上角选择批量更新告警规则
  3. 在弹窗中选择“回调地址”字段,新增输入框中填写集成的推送地址,如下图所示:
drawing
  1. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件
  2. 完成

方式 2:全局配置

夜莺支持在页面和配置文件中配置全局 webhook 地址,推送所有的告警事件。以下两种方式二选一即可。
V6 及以上版本
  1. 登录您的 n9e 控制台
  2. 进入系统配置-通知设置-回调地址页面
  3. 如下图所示,启用一个新的 webhook,URL 部分填写集成的推送地址
drawing
  1. 完成
V5.4~5.15 版本
  1. 登录您的 n9e server 实例
  2. 找到并打开配置文件,一般为 etc/server.conf
  3. 更改 Alerting 配置部分,写入 Webhook 配置,如下
    config
    [Alerting.Webhook]
    Enable = true
    Url = "{api_host}/event/push/alert/n9e?integration_key=$integration_key"
    BasicAuthUser = ""
    BasicAuthPass = ""
    Timeout = "5s"
    Headers = ["Content-Type", "application/json", "X-From", "N9E"]
    
    您需要替换 Url 对应的参数值为集成的推送地址。
  4. 保存配置文件
  5. 重启 n9e server,使配置生效
  6. 回到集成列表,如果展示了最新事件时间,说明配置成功且收到事件
  7. 完成

严重程度映射关系


夜莺/Flashcat 到 Flashduty 告警等级映射关系:
n9eFlashduty状态
1Critical严重
2Warning警告
3Info提醒

常见问题


在 Flashduty On-call

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

在夜莺/Flashcat

  1. 首先确认夜莺测是否产生了新的告警:前往 告警管理=>历史告警,查看配置完 webhook 之后,是否产生了新的告警,注意新的告警状态必须是 Triggered。如没有产生新告警,请继续等待新告警触发后重新验证。
  2. 找到告警之后,进到告警详情,查看 回调地址 部分。验证真实回调地址是否和集成推送地址完全匹配。如果不匹配,请修改 告警规则后重新验证。
  3. 如果匹配,则需要登录到夜莺 server 并确认其可以访问外网 api.flashcat.cloud 域名。如果不可以,您首先需要为 server 开通外网,或单独针对 Flashduty 的域名开通外网访问。
  4. 如果网络无问题,您需要继续排查server,查找是否存在相关的错误日志。
如果以上步骤执行之后,仍然没有查询到问题根因,请直接联系我们。