夜莺监控 v8 从 beta7 版本开始引入新版通知规则,把“告警规则如何触发”和“告警事件如何通知”拆成两个相对独立的配置。对新版通知规则还不熟悉的用户,建议先阅读《夜莺监控巨大革新:抽象出通知规则,增强告警通知的灵活性》。
本文以企业微信通知为例,说明如何把夜莺告警事件发送到企微群。
核心要点
- 告警规则负责查询和阈值判定,通知规则负责把生成的告警事件分发到企业微信。
- 企业微信机器人使用
Key作为通知规则中的关键配置,不同 Key 对应不同企微群机器人。 - Wecom 通知媒介和 wecom 消息模板是夜莺内置能力,通常只需要补好机器人 Key 和模板里的夜莺访问域名。
- 消息模板中的
domain变量会影响“事件详情”“屏蔽 1 小时”“查询曲线”等按钮能否跳转到正确页面。
通知链路怎么理解

上图是通知规则对接企微通知的示意逻辑图。完整链路可以拆成三段:
- 在告警规则中配置查询语句和阈值判定,同时关联一个通知规则。这个告警规则生成的所有告警,都会交给被关联的通知规则分发。
- 通知规则可以按级别、时段、标签、属性等条件决定告警发往哪个通知媒介。例如 Critical 告警打电话和发短信,Warning 告警只发邮件。本文演示的是把交给这个通知规则的告警事件发送到企微群。
- 发企微消息时,需要指定消息模板和机器人 Key。不同团队可以使用不同消息模板,不同 Key 对应不同企业微信群机器人。
下面按配置顺序说明。
第一步:在告警规则中关联通知规则

我提前创建了一个通知规则,名字叫“测试通知规则”。在告警规则页面,把该告警规则关联到“测试通知规则”。
这样配置之后,告警规则仍然只负责判断是否触发告警;一旦产生告警事件,后续发送到企微群的动作由通知规则接管。
第二步:配置企业微信通知规则

通知规则页面中需要重点检查这些字段:
| 配置项 | 含义 | 配置建议 |
|---|---|---|
| 授权团队 | 这个通知规则归属哪个团队 | 选择实际负责维护该通知规则的团队 |
| 通知媒介 | 本次发送使用的媒介类型 | 选择 Wecom,也就是企业微信通知媒介 |
| 消息模板 | 告警消息内容的渲染模板 | 选择内置的 wecom 模板,并按下文修改 domain |
| Key | 企业微信机器人的 Key | 从企微机器人 Webhook 地址中获取 |
| Bot Name | 机器人展示名称 | 随便填写,主要用于帮助识别机器人 |
| 适用级别 | 哪些级别的告警使用该媒介 | 测试时可以全选;生产环境按告警分级策略选择 |
| 适用时段、使用标签、适用属性 | 通知过滤条件 | 不填写表示不过滤,所有事件都会发给企微 |
一个通知规则可以创建多个通知媒介。也就是说,同一条告警事件可以根据规则同时发送到企微、钉钉、飞书、邮件或其他渠道。
第三步:修改 wecom 消息模板

消息模板只需要重点改一个地方:domain 变量。
把 domain 改成你自己的夜莺访问地址。改好之后,企微告警消息中的“事件详情”“屏蔽 1 小时”“查询曲线”等按钮才能跳转到正确页面。
如果这里仍然保留测试环境地址,企微消息本身可能可以收到,但按钮会跳到错误地址,排障时就会很别扭。
第四步:验证企微告警效果

配置完成后,可以通过两种方式验证:
- 在通知规则中使用通知测试,选择一条历史告警事件,直接测试企微消息是否能发出。
- 临时调整某条告警规则的查询条件,让它尽快触发一条测试告警,再观察企微群是否收到消息。
验证时不只看“有没有收到消息”,还要检查按钮是否能正确跳转到夜莺页面。这个动作能提前发现 domain 配置错误。
常见问题
Q1:为什么通知规则里已经配置了企微,但群里没有收到告警? A:先检查告警规则是否真的关联了这条通知规则,再检查通知规则的适用级别、适用时段、标签和属性过滤条件是否把事件过滤掉了。最后再确认企业微信机器人的 Key 是否填写正确。
Q2:收到消息后,事件详情按钮打不开怎么办?
A:优先检查 wecom 消息模板里的 domain 变量。它应该是用户可以访问到的夜莺地址,而不是测试环境或内网不可达地址。
Q3:一个通知规则能不能同时发企微和其他渠道? A:可以。通知规则可以配置多个通知媒介,并且可以通过级别、时段、标签、属性等条件控制不同告警事件的分发方式。
总结
夜莺 v8 的新版通知规则把告警触发和通知分发解耦了。对接企业微信时,核心配置只有三件事:告警规则关联通知规则、通知规则中配置 Wecom 媒介和机器人 Key、在 wecom 消息模板中把 domain 改成真实夜莺访问地址。完成这三步后,再通过通知测试或真实告警验证消息和跳转链接即可。