Grafana 除了支持丰富的数据源和图表功能之外,还支持告警功能,该功能也使得 Grafana 从一个数据可视化工具成为了一个真正的监控利器。Grafana 可以通过 Alerting 模块的配置把监控数据中的异常信息进行告警,告警的规则可以直接基于现有的数据图表进行配置,在告警的时候也会把出现异常的图表进行通知,使得我们的告警通知更加友好。

一、 渠道

Grafana Alerting 支持多种告警渠道,比如钉钉、Discord、Email、Kafka、Pushover、Telegram、Webhook 等等,我们这里可以使用钉钉和 Email 进行展示说明。

二、Email

邮箱告警通常是最常见的告警接收方式,通过 Grafana 告警需要在 Grafana 的配置文件中配置 stmp 服务。在配置文件 /etc/grafana/grafana.ini 文件中添加 SMTP/Emailing 配置块并开启 Alerting:

#################################### SMTP / Emailing ##########################
[smtp]
enabled = true
host = smtp.163.com:465 # 我们这里使用163的邮箱
user = xxx@163.com
password = <email password> # 使用网易邮箱的授权码
skip_verify = true
from_address = xxx@163.com

#################################### Alerting ############################
[alerting]
enabled = true
execute_alerts = true

需要注意的是这里我们使用的是 163 的邮箱进行发送,在配置 smtp 的时候需要在邮箱中开启 IMAP/SMTP 和 POP3/SMTP 两个服务,并添加一个授权码,上面的 password 密码使用的就是授权码进行认证:

Grafana 告警配置(邮件)_Grafana

配置完成后重新启动 Grafana:

☸ ➜ systemctl daemon-reload
☸ ➜ systemctl restart grafana-server

三、页面操作

Notification channels

回到 Grafana 页面中点击左侧的 Notification channels 开始添加消息通知渠道:

Grafana 告警配置(邮件)_Grafana_02

点击 Add channel 按钮新建一个通知渠道,这里我们选择渠道类型为 Email,添加接收通知的邮件地址,此外还可以对通知进行简单的配置:

Grafana 告警配置(邮件)_Grafana_03

点击下方的 Test 按钮可以测试是否可以正常发送邮件,如果出现 Test notification sent 的提示证明发送成功,正常也可以收到一封如下所示的告警通知邮件:

Grafana 告警配置(邮件)_Grafana_04

测试成功后点击 Save 按钮,保存这个通知渠道。

Alert Rule

Grafana 告警配置(邮件)_Grafana_05

Rule: Name为Rule名称;Evaluate every为执行频率。 Conditions:判断条件中 avg() 为平均值;query(A, 5m,now) A是指标metric值,5m,now是现在起到5分钟之前。双击可另选择时间刻度。is above是报警的临界值,可手动填写具体阈值,也可手动拖拉右上方类似红心的报警阈值线。 Notifications:有之前配置的 Notification channels发送消息通道。这里将Email、钉钉都选上发送通知。