Grafana 支持的告警方式非常多,对于即时通讯类软件不支持微信和企业微信。
如何让 Grafana 支持企业微信告警,网上有不少开源的解决方案。
- 基于 Grafana 支持企业微信的分支源码重新编译
- 使用 Grafana Alerting webhook 功能
webhook
重新编译太麻烦,也不便于后期升级。开源的解决方案原理都差不多,就是做了一层代理转发。将 Grafana Post的内容转发到企业微信接口。代码结构、部署及配置过程比较简单。
- 申请企业微信群机器人并获取到Key
- 代码部署
- Grafana Alerting webhook 配置
基于 g2ww 项目进行了改进和完善,获取最新代码 g2ww 进行部署。
$ git pull https://github.com/abnerzhao/g2ww.git
$ sudo make docker
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
abnerzhao/g2ww 0.1 ebd29f4cb023 34 minutes ago 18.6MB
$ sudo docker run -d --name webhook -p 2408:2408 abnerzhao/g2ww:0.1
Alerting 配置
URL
配置可以是 http://ip:port/key 或者使用 nginx 代理 http://domain/key
点击 Test
即可收到如下消息:
支持图文和 Markdown 格式,消息内容可自定义。
问题
-
通过 Docker 启动的 Grafana 消息链接如果无法打开,则需要设置环境变量
GF_SERVER_ROOT_URL=http://ip:3000
或者修改配置文件root_url
参数。 -
发送图文消息,图片是无法显示的,需要配置第三方存储如 S3 等。