【监控】Grafana告警相关

1、告警发送截图

Grafana告警支持截图发送,依据官网介绍,我选择最实惠的webdav方式

其原理就是,Grafana在告警发生的时候会使用PhantomJS进行截图操作并存储在本地image目录,然后将本地生成的图片文件上传到某个支持webdav的云盘比如坚果云的指定目录,之后生成这个图片的公网访问地址。而这个地址就是Grafana发送告警的body中的ImageURL字段的值。也就是说,webdav方式所发送的告警,其图片是以外部链接的方式存在的,并不是图片二进制数据,如果想要在微信等其他地方接收这种告警并显示图片的话需要从该地址下载这个图片并二次处理。

首先注册坚果云
获得账号密码,并创建个人同步文件夹grafana,勾选去掉同步到本地。
在账号-安全选项中添加应用grafana并获取随机密码

在grafana的配置文件grafana.ini中添加如下配置

[external_image_storage]
provider = webdav

[external_image_storage.webdav]
url = https://dav.jianguoyun.com/dav/grafana
;public_url =
username = 邮箱@地址.com
password = apque9ncyqxtyq4v

也就是填入坚果云的地址和账号以及随机密码,/grafana一定要添加,这是坚果云中创建的文件夹名称

force-reload重新加载grafana配置

在Grafana的UI界面中配置Notification Channel勾选Include image,这项设置可以使发送告警的时候发送截图。

此时,告警消息中就已经可以看到imageUrl参数携带着的图片链接。

{"imageUrl":"https://dav.jianguoyun.com/dav/grafana/B1IqWKzLA48RvgRxSKJO.png"}

参考链接

http://blog.itbdw.com/wei-grafana-bao-jing-gong-neng-zeng-jia-jie-tu-gong-neng/
https://www.jianshu.com/p/d83d3c245319

一点疑问:
如果webdav邮件发送的方式同时开启的话,则邮件告警中会经常出现无图的现象,不知道怎么解释,也没继续研究了。

2、设置告警在某个时间段内的重复告警不被发送

在grafana的UI界面Notification Channel栏勾选Send reminders,并设置时长。那么该时间内,相同的告警则不会被发送。

3、告警设置邮件发送

1、邮箱设置
我使用网易126邮箱,企业邮箱无法配置pop3和smtp服务,测试未通过。
首先勾选两个服务,保存后会自动提示开启客户端授权码

image.png

自行输入授权码(企业邮箱测试时可以随机也可以手动)

image.png

2、编辑grafana的配置文件
grafana.ini

[smtp]
enabled = true
host = smtp.126.com:465
user = 邮箱@126.com
password = ***********
from_address = 邮箱@126.com
from_name = Grafana

[alerting]
execute_alerts = true

注意:host的端口号使用465与password为客户端授权码是配套的,from_address和user是一样的。

3、重启grafana服务,在UI界面告警设置中选择Email,填入收件箱地址即可,使用分号可以输入多个收件人,至于怎么设置告警就不说了。

提示:
1、我使用的环境是dockerhub上的最新镜像启动的容器,版本为5.4.2
2、告警定时触发需要设置 reminder

推荐阅读更多精彩内容