告警配得再准,通知发不出去也白搭。本文讲在炬鲸 OBSERVE 里接入企业微信、钉钉与邮件,配置分级路由和升级链,附 webhook 示例与上线前检查项。
告警配置得再准,通知发不出去也白搭。炬鲸 OBSERVE 内置邮件、企业微信机器人、钉钉机器人、Webhook 四类渠道,外加短信与电话用于高优先级告警。选渠道的原则很简单:
先在群聊里添加机器人,拿到形如 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 控制未恢复告警的重发频率,避免一条告警发一次就沉底。
最后建议在群里留一份"值班手册":谁负责认领、升级到谁、多久没响应就升级,写清楚,告警才算真正闭环。