Grafana 告警接入企业微信群机器人推送配置指南
一、脱敏说明
本文记录 Grafana 告警接入企业微信群机器人的完整操作过程。
为避免敏感信息泄露,本文涉及的服务器 IP、Grafana 访问地址、企业微信机器人 Webhook、机器人 Key 等均已做脱敏处理。
说明:
192.0.2.76 为文档示例 IP,00000000-0000-0000-0000-000000000000 为脱敏后的示例 Key,实际操作时请替换为真实环境信息。
特别注意:
企业微信机器人 Webhook 地址等同于机器人密钥,不建议出现在公开文章、截图、代码仓库或聊天记录中。
二、背景说明
在数据库、时序库、服务器等运维场景中,Grafana 常用于监控指标展示和告警通知。
默认情况下,Grafana 告警可以通过邮件发送,但邮件通知存在查看不及时、响应链路较长的问题。
为了提高告警触达效率,本次将 Grafana 告警通知接入企业微信群机器人,实现告警触发后自动推送到企业微信群,便于运维人员第一时间发现并处理问题。
本文主要记录以下内容:
1. 企业微信群机器人创建
2. Grafana Contact point 配置
3. WeCom 通知集成配置
4. Grafana 页面 Test 测试
5. Grafana 服务器 curl 链路验证
6. 常见问题排查
三、实现目标
配置完成后,实现如下告警通知链路:
Grafana 告警触发
→ Notification policy 匹配通知策略
→ Contact point 通知点
→ Email 邮件通知
→ WeCom 企业微信群机器人通知
最终效果:
Grafana 告警信息同时推送到邮件和企业微信群
这样可以在保留原有邮件通知的基础上,新增企业微信群实时通知,提高告警响应效率。
四、环境说明
| 项目 | 说明 |
|---|---|
| Grafana 地址 | http://192.0.2.76:3000 |
| Grafana 服务器 | 192.0.2.76 |
| 企业微信群 | 运维告警群 |
| 通知方式 | Email + WeCom |
| Contact point | TDengine_Alert_CP |
| 企业微信接口 | qyapi.weixin.qq.com:443 |
说明:
Grafana 如果要直接推送企业微信群机器人,Grafana 所在服务器需要能够访问企业微信外网接口。
也就是 Grafana 服务器至少需要能访问:
qyapi.weixin.qq.com:443
五、前置条件
配置前需要满足以下条件:
1. Grafana 已经可以正常访问
2. Grafana Alerting 功能已启用
3. 已存在告警规则或后续准备配置告警规则
4. 已有企业微信群
5. Grafana 服务器可以访问企业微信接口
本次操作中,Grafana 已经存在一个通知点:
TDengine_Alert_CP
并且该通知点已经被通知策略使用:
Used by 1 notification policy
因此本次不新建 Contact point,而是在原有 Contact point 上新增企业微信通知方式。
这样做的好处是:
1. 不影响原有邮件通知
2. 不需要重新调整 Notification policies
3. 降低生产环境配置变更风险
生产环境操作,核心原则就是:能追加就不重构,能保留就不破坏。
六、企业微信群机器人配置
1. 进入企业微信群

打开企业微信,进入需要接收告警的群聊,例如:
运维告警群
点击群聊右上角:
...
进入群设置页面。
2. 进入消息推送
在群设置页面中找到:
消息推送
点击进入。
3. 添加群机器人
在消息推送页面中添加机器人。
机器人名称建议使用:
时序库告警机器人
也可以根据实际业务命名,例如:
Grafana告警机器人
TDengine告警机器人
数据库告警机器人
运维告警机器人
建议机器人名称直接体现用途,方便后续维护和排查。
4. 获取 Webhook 地址

机器人创建完成后,会生成一个 Webhook 地址,格式如下:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=00000000-0000-0000-0000-000000000000
其中,key= 后面的字符串就是企业微信群机器人的 Key。
示例:
key=00000000-0000-0000-0000-000000000000
注意:
Webhook 地址相当于机器人密钥,不要公开到文章、截图、代码仓库或聊天记录中。
如果 Webhook 地址已经暴露,建议删除旧机器人或重新生成新的 Webhook,并回到 Grafana 中替换。
七、Grafana 配置 Contact point
1. 进入 Contact points 页面

登录 Grafana 后,依次进入:
Alerting
→ Contact points
找到已有通知点:
TDengine_Alert_CP
该通知点显示:
Used by 1 notification policy
说明当前通知点已经被通知策略引用。
2. 编辑已有 Contact point
点击 TDengine_Alert_CP 右侧的:
Edit
进入通知点编辑页面。
注意:
不要点击 Create contact point 新建通知点。
因为当前已有通知策略正在使用 TDengine_Alert_CP,直接编辑该通知点即可。
3. 保留原有 Email 通知
进入编辑页面后,可以看到原有 Integration 为:
Email
此处不需要修改,也不要删除。
原有 Email 通知继续保留,用于作为告警兜底通道。
4. 新增企业微信通知集成

点击页面下方:
+ Add contact point integration
新增一个通知集成。
在新出现的 Integration 下拉框中选择:

WeCom
说明:
WeCom 是 Grafana 中用于企业微信通知的集成方式。
如果下拉框中有 WeCom,优先选择 WeCom,不建议直接选择普通 Webhook。
5. 配置 WeCom Webhook

在 WeCom 配置中填写企业微信群机器人的 Webhook 地址:
Webhook URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=00000000-0000-0000-0000-000000000000
如果使用的是企业微信群机器人,只需要填写:
Webhook URL
以下字段可以留空:
Agent ID
Corp ID
Secret
这几个字段通常用于企业微信自建应用通知,不是普通群机器人必填项。
八、Grafana 页面测试通知

配置完成后,点击 WeCom 配置块右侧的:
Test
如果企业微信群收到 Grafana 测试消息,说明 Grafana 到企业微信群机器人的通知链路已经打通。

测试消息示例:
[FIRING:1] TestAlert Grafana
Firing
Value: [no value]
Labels:
- alertname = TestAlert
- instance = Grafana
Annotations:
- summary = Notification test
测试成功后,点击页面下方:
Save contact point
保存配置。
九、配置结果确认

保存后回到 Contact points 页面,确认 TDengine_Alert_CP 下已经同时存在两种通知方式:
Email
WeCom
并且仍然显示:
Used by 1 notification policy
说明当前通知点仍然被现有通知策略使用,不需要额外修改 Notification policies。
最终通知点结构如下:
TDengine_Alert_CP
├── Email 邮件通知
└── WeCom 企业微信通知
最终告警通知链路如下:
Grafana 告警触发
→ TDengine_Alert_CP
→ Email 邮件通知
→ WeCom 企业微信群通知
十、在 Grafana 服务器上使用 curl 测试
除了在 Grafana 页面点击 Test,也可以在 Grafana 所在服务器上使用 curl 测试企业微信机器人是否可用。
本示例 Grafana 服务器为:
192.0.2.76
通过 SSH 或 JumpServer 登录 Grafana 服务器:
ssh root@192.0.2.76
1. 测试是否能访问企业微信域名
执行:
curl -I https://qyapi.weixin.qq.com

返回示例:
HTTP/1.1 403 Forbidden
Date: Sun, 21 Jun 2026 02:42:39 GMT
Content-Type: text/html
Content-Length: 146
Connection: keep-alive
Server: nginx
这里返回 403 Forbidden 不代表网络不通。
原因是访问的是企业微信根地址,并且使用的是 HEAD 请求,企业微信接口可能会拒绝该请求。
只要能够返回 HTTP 响应,说明服务器已经可以访问到企业微信服务端。
2. 使用 Webhook 发送测试消息

在 Grafana 服务器上执行:
WEBHOOK='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=00000000-0000-0000-0000-000000000000'
curl -X POST "$WEBHOOK" \
-H 'Content-Type: application/json' \
-d '{
"msgtype": "markdown",
"markdown": {
"content": "### Grafana告警测试\n> 来自 Grafana 服务器 192.0.2.76 的 curl 测试"
}
}'
成功返回示例:
{"errcode":0,"errmsg":"ok"}
同时企业微信群会收到测试消息:

Grafana告警测试
来自 Grafana 服务器 192.0.2.76 的 curl 测试
说明以下链路正常:
Grafana服务器 192.0.2.76
→ qyapi.weixin.qq.com
→ 企业微信群机器人
→ 运维告警群
十一、常见报错及处理
1. invalid webhook url
如果 curl 返回:
{"errcode":93000,"errmsg":"invalid webhook url"}
一般表示 Webhook 地址不正确。
常见原因:
1. Key 写错
2. 使用了占位符,例如 key=你的key
3. Webhook 地址复制不完整
4. 企业微信机器人已删除或失效
错误示例:
curl -X POST 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的key'
这里的 你的key 是占位符,必须替换为真实 Key。
正确方式:
WEBHOOK='https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=00000000-0000-0000-0000-000000000000'
2. Grafana Test 成功,但 curl 失败
这种情况一般需要检查 curl 命令中的 Webhook 是否和 Grafana 中配置的一致。
建议直接复制 Grafana 中配置的完整 Webhook 地址进行测试。
3. 企业微信群收不到消息
优先检查以下内容:
1. Webhook URL 是否正确
2. Grafana 服务器是否能访问 qyapi.weixin.qq.com:443
3. 企业微信机器人是否被删除
4. 企业微信机器人是否配置了 IP 白名单
5. 防火墙或代理是否限制外网访问
如果企业微信机器人开启了 IP 白名单,需要放行 Grafana 服务器的出口公网 IP。
注意:
出口公网 IP 不一定等于 Grafana 服务器内网 IP,需要以实际网络出口为准。
4. 找不到 WeCom 类型
如果 Grafana 的 Integration 下拉框中找不到 WeCom,可以考虑使用 Webhook。
但需要注意:
普通 Webhook 默认发送的数据格式不一定符合企业微信机器人要求。
如果普通 Webhook 测试失败,可以考虑以下方案:
1. 升级 Grafana 或启用 WeCom 集成
2. 使用 Grafana 自定义 Payload
3. 增加内网中转服务,将 Grafana Webhook 转换为企业微信机器人格式
生产环境优先推荐使用 Grafana 内置 WeCom 集成。
十二、网络要求说明
Grafana 如果直接推送企业微信机器人,Grafana 所在服务器需要能够访问外网。
至少需要放通:
目标地址:qyapi.weixin.qq.com
目标端口:443
协议:HTTPS
完整访问链路:
Grafana服务器
→ HTTPS 443
→ qyapi.weixin.qq.com
→ 企业微信群机器人
→ 企业微信群
如果生产服务器不能直接访问外网,可以采用以下方案:
| 方案 | 说明 |
|---|---|
| 放通指定外网访问 | 只允许 Grafana 访问 qyapi.weixin.qq.com:443 |
| 使用代理服务器 | Grafana 通过公司代理访问企业微信接口 |
| 内网中转服务 | Grafana 推送到内网接口,再由中转服务推送企业微信 |
生产环境推荐最小放通原则:
只放通 Grafana 服务器到 qyapi.weixin.qq.com:443,不开放无关外网访问。
十三、安全注意事项
1. Webhook 地址必须脱敏
Webhook 地址等同于机器人密钥。
文章、截图、文档中必须脱敏,例如:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx
不要直接暴露真实 Key。
2. Webhook 泄露后需要重新生成
如果 Webhook 已经出现在截图、聊天记录或公开文档中,建议执行以下操作:
1. 删除旧机器人或重新生成 Webhook
2. 在 Grafana 中替换新的 Webhook URL
3. 点击 Test 测试
4. 保存 Contact point
3. 保留邮件通知作为兜底
生产环境建议保留原有 Email 通知。
即使企业微信机器人异常,邮件仍然可以作为备用通知通道。
4. Test 成功后仍需关注真实告警
Grafana 页面 Test 成功,只能说明通知通道可用。
后续还需要观察一次真实告警触发,确认以下链路完整生效:
Alert rule
→ Notification policy
→ Contact point
→ WeCom
→ 企业微信群
十四、最终验证结果
本次配置完成后,验证结果如下:
| 验证项 | 结果 |
|---|---|
| Grafana Contact point 新增 WeCom | 成功 |
| Grafana 页面 Test | 成功 |
| 企业微信群收到测试告警 | 成功 |
| Grafana 服务器 curl 测试 | 成功 |
| Email 原通知方式 | 保留 |
| Contact point 策略引用 | 正常 |
最终实现:
Grafana 告警同时通过邮件和企业微信群机器人推送。
十五、总结
本次完成 Grafana 告警接入企业微信群机器人,主要步骤如下:
1. 在企业微信群中添加告警机器人
2. 获取企业微信群机器人 Webhook
3. 登录 Grafana 编辑已有 Contact point
4. 保留原 Email 通知
5. 新增 WeCom 通知集成
6. 填写企业微信机器人 Webhook URL
7. 使用 Grafana Test 完成页面测试
8. 在 Grafana 服务器使用 curl 完成链路验证
9. 确认企业微信群成功收到告警消息
通过该方式,可以将 Grafana 告警实时推送到企业微信群,提高运维告警触达效率和故障响应速度。
对于生产环境,建议采用以下原则:
保留原有通知方式
新增企业微信通知
Webhook 地址严格脱敏
只放通必要外网访问
定期验证真实告警链路
至此,Grafana 告警接入企业微信群机器人推送配置完成。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)