Grafana 除了支持丰富的数据源和图表功能之外,还支持告警功能,该功能也使得 Grafana 从一个数据可视化工具成为了一个真正的监控利器。Grafana 可以通过 Alerting 模块的配置把监控数据中的异常信息进行告警,告警的规则可以直接基于现有的数据图表进行配置,在告警的时候也会把出现异常的图表进行通知,使得我们的告警通知更加友好。
一、 渠道
Grafana Alerting 支持多种告警渠道,比如钉钉、Discord、Email、Kafka、Pushover、Telegram、Webhook 等等,我们这里可以使用钉钉和 Email 进行展示说明。
二、Email
邮箱告警通常是最常见的告警接收方式,通过 Grafana 告警需要在 Grafana 的配置文件中配置 stmp 服务。在配置文件 /etc/grafana/grafana.ini 文件中添加 SMTP/Emailing 配置块并开启 Alerting:
需要注意的是这里我们使用的是 163 的邮箱进行发送,在配置 smtp 的时候需要在邮箱中开启 IMAP/SMTP 和 POP3/SMTP 两个服务,并添加一个授权码,上面的 password 密码使用的就是授权码进行认证:
配置完成后重新启动 Grafana:
三、页面操作
Notification channels
回到 Grafana 页面中点击左侧的 Notification channels 开始添加消息通知渠道:
点击 Add channel 按钮新建一个通知渠道,这里我们选择渠道类型为 Email,添加接收通知的邮件地址,此外还可以对通知进行简单的配置:
点击下方的 Test 按钮可以测试是否可以正常发送邮件,如果出现 Test notification sent 的提示证明发送成功,正常也可以收到一封如下所示的告警通知邮件:
测试成功后点击 Save 按钮,保存这个通知渠道。
Alert Rule
Rule: Name为Rule名称;Evaluate every为执行频率。 Conditions:判断条件中 avg() 为平均值;query(A, 5m,now) A是指标metric值,5m,now是现在起到5分钟之前。双击可另选择时间刻度。is above是报警的临界值,可手动填写具体阈值,也可手动拖拉右上方类似红心的报警阈值线。 Notifications:有之前配置的 Notification channels发送消息通道。这里将Email、钉钉都选上发送通知。