grafana设置Alert阈值和邮件报警

时间:2024-01-11 11:38:20

首先我们需要在机器上开启smtp/25服务,这里有一个坑,注意,云主机为了防止滥发邮件已经封掉了smtp的所有通信,所以云主机发邮件是有问题的。

安装sendmail,ubuntu用apt,centos用yum

安装好后一般自动就跑起来了,netstat查看25端口:

grafana设置Alert阈值和邮件报警

这里注意,我们的grafana服务器和sendmail在同一台机器上,否则sendmail需要处理为open relay中继服务器,具体方法如下:

修改sendmail配置/etc/mail/access

添加grafana服务器ip,允许进入

Connect:grafanaserverip          RELAY

GreetPause:grafanaserverip    0

ClientRate:grafanaserverip      0

ClientConn:grafanaserverip     0

输入如图的命令对本地smtp进行测试,查看是否收到邮件,收到邮件则本地smtp配置成功,否则,请检查系统服务或咨询网络提供商

grafana设置Alert阈值和邮件报警

smtp配置完,我们还要配置和重启(注意重启!)grafana server

编辑/etc/grafana/grafana.ini,[smtp]下添加如下几行,其他还可以配置用户名密码来使用公网上有验证的smtp服务,但是这里我们用的是本地smtp,无密码验证

[smtp]

enabled = true

host = localhost:25

from_address = your address

from_name = your name

重启服务

service grafana-server restart

之后我们再grafana页面添加一个notification channel,即通知渠道,grafana支持众多的报警通知方式

grafana设置Alert阈值和邮件报警

grafana设置Alert阈值和邮件报警

这里我们只选email

grafana设置Alert阈值和邮件报警

如下图配置,多个邮件地址使用;分隔,send on all alerts即通知所有的报警,不管在单个报警中是否设置,包含图形接收到的邮件会包含grafana的报警图表

grafana设置Alert阈值和邮件报警

send test测试,查看是否收到邮件

右上角发送成功提示,不成功请检查配置或网络

grafana设置Alert阈值和邮件报警

channel配置好了之后我们来添加alert,在图表中添加一个专用的报警查询sql,也可以使用现有的,但是注意,这里有个坑,就是这个sql中一定不能有templating变量,否则会报以下错误

grafana设置Alert阈值和邮件报警

添加的不带变量的sql,注意它的编号是D,我们配置alert的时候也需要选择D,这里不需要看的话可以点眼睛的图标让它在图表中隐藏不显示

grafana设置Alert阈值和邮件报警

grafana设置Alert阈值和邮件报警

切换到alert标签,选择D的查询,然后设置阈值为load大于2时报警

grafana设置Alert阈值和邮件报警

添加报警通知的channel,填写报警具体信息

grafana设置Alert阈值和邮件报警

然后保存图表

报警的时候会在异常值出现的地方显示红色的虚线,恢复的时候会显示绿色的虚线,而且小红心也会跟着变化颜色,同时,邮件也就送到了我们的邮箱了

grafana设置Alert阈值和邮件报警

邮件很直观,大概就是这个样子了,不是原图,大概表示一下

grafana设置Alert阈值和邮件报警