← 返回文章列表
使用指南 4 分钟阅读 炬鲸团队

告警通知接入实战:企业微信、钉钉与分级路由配置

告警配得再准,通知发不出去也白搭。本文讲在炬鲸 OBSERVE 里接入企业微信、钉钉与邮件,配置分级路由和升级链,附 webhook 示例与上线前检查项。

通知渠道怎么选

告警配置得再准,通知发不出去也白搭。炬鲸 OBSERVE 内置邮件、企业微信机器人、钉钉机器人、Webhook 四类渠道,外加短信与电话用于高优先级告警。选渠道的原则很简单:

  • 邮件:适合日报、周报、变更通知这类低频、低紧急度的内容;
  • 企业微信/钉钉机器人:适合团队群的实时告警,值班人能在群里直接看到并被 @ 到;
  • Webhook:接自研工单系统、ChatOps(如 Slack)或自愈脚本;
  • 短信/电话:只留给 P0/P1,避免深夜被低优先级告警吵醒。

企业微信机器人配置

先在群聊里添加机器人,拿到形如 https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx 的地址,然后在 OBSERVE 的「告警通知 → 渠道」里新建一条:

channel:
  name: oncall-wecom
  type: wecom
  webhook: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx
  template: |
    【{level}】{title}
    目标:{target}
    触发值:{value}(阈值 {threshold})
    时间:{time}
    详情:{url}

钉钉的配置几乎一样,只是 type: dingtalk 且 webhook 地址带 access_token。模板里用 {level}、{title}、{value} 等占位符,把关键信息压到一条消息里,避免值班群刷屏。

分级路由与升级链

告警要按严重级别走不同的路,并且长时间没人认领时自动升级:

route:
  rules:
    - severity: P0
      channels: [sms, phone, wecom-p0]
      repeat: 5m
    - severity: P1
      channels: [wecom-p0, dingtalk]
      repeat: 15m
    - severity: P2
      channels: [wecom-general]
      repeat: 30m
  escalation:
    after: 15m
    to: [phone, manager]

关键在 escalation:P1 告警 15 分钟没人确认,自动升级到电话 + 值班经理;repeat 控制未恢复告警的重发频率,避免一条告警发一次就沉底。

上线前必做的三件事

  1. 发测试告警:每个渠道手动触发一条测试消息,确认 webhook 通、模板渲染对、@ 到的人对;
  2. 设置静默窗口:发版、压测、计划内维护期间静默对应目标,别让运维被自己的变更告警淹没;
  3. 限制发送频率:给单个渠道设置每分钟上限,防止告警风暴把机器人打爆或被平台限流。

最后建议在群里留一份"值班手册":谁负责认领、升级到谁、多久没响应就升级,写清楚,告警才算真正闭环。