夜莺监控 v8.0 新版通知规则实操 | 对接钉钉、飞书、企微通知
夜莺监控 v8.0.0-beta7 开始引入新版通知规则,对于通知规则的逻辑讲解,可以参考这个文章:《夜莺监控巨大革新:抽象出通知规则,增强告警通知的灵活性》。本文实操介绍如何使用新版通知规则对接钉钉、飞书、企业微信通知,图文演示,手把手教程。
本次演示使用 v8.0.0-beta8,如果你的版本低于这个版本,请先升级到这个版本,v8.0.0-beta7 不太完善,beta8 中做了一些优化。
钉钉通知
1. 创建钉钉机器人
钉钉机器人必须要启用安全设置,这里我们勾选“自定义关键词”,然后填上 20
,因为告警消息中肯定有时间,比如 2025-03-12 10:52:07
,这个时间中包含了 20
,所以我们填 20
可以通过安全校验。把 Webhook 中的 access_token 拷贝出来备用,待会在配置夜莺的通知规则时使用。
2. 配置夜莺通知规则
创建一个通知规则,这里姑且取名为“通知规则A”,配置一个 DingTalk 通知媒介,把刚才的 Access Token 填入,Bot Name 随便填,这个给机器人取个名字便于记忆。适用级别全部勾选,其他过滤条件都留空,这样所有告警都会通过这个通知规则发送到钉钉。
稍等片刻就可以在钉钉里收到告警了。
不过上图中的三个按钮点击之后无法正确跳转到夜莺的页面,这是因为 Dingtalk 消息模板中,domain
字段没有正确配置,把这个字段改成你的夜莺的地址即可,比如:
{{$domain := "http://10.211.55.3:17000" }}
3. 钉钉 at 人
针对钉钉 at 人的逻辑,之前也有一篇文章详细讲解:夜莺监控 v8.0 新版通知规则 | 对接钉钉告警,如何配置 at 人。在 beta8 版本中,只需要修改一下 DingTalk 通知媒介,在联系方式里选择 Phone
,就可以支持 at 人的功能了。
DingTalk 通知媒介最下面的 HTTP request body 中,v8.0.0-beta8 已经填充了合适的模板内容:
{"msgtype": "markdown", "markdown": {"title": "{{$tpl.title}}", "text": "{{$tpl.content}}\n{{batchContactsAts $sendtos}}"}, "at": {"atMobiles": {{batchContactsJsonMarshal $sendtos}} }}
然后想 at 谁就在通知规则里选择对应的人即可:
飞书通知
飞书支持卡片和普通文本两种类型,一般都是使用卡片类型做告警通知,样式更好看一些。飞书的通知逻辑和钉钉很像,也是先创建一个机器人:
然后在通知规则里增加一个飞书卡片的通知媒介,把刚才机器人的 Token 填充上:
最后修改一下 FeishuCard 消息模板,把 domain 改好:
{{$domain := "http://10.211.55.3:17000" }}
这样就配置完了。如果想快速看到效果,可以在通知规则的每个媒介下面点击「通知测试」按钮,然后选择一个历史告警,就可以快速看到效果了。也可以手工修改一下告警规则中的查询条件,尽快触发一个告警。
企微通知
企微机器人和钉钉、飞书类似,机器人的 Key 的获取方式如下:
然后在通知规则里增加一个企业微信通知媒介,把刚才机器人的 Key 填充上:
最后修改一下 Wecom 消息模板,把 domain 改成你自己的夜莺的地址,就完活了。