title: 6.6.Grafana告警功能(了解)
order: 41
icon: lightbulb
注
- Grafana的告警功能,和prometheus的告警功能不是一回事,别搞混淆了。
- Grafana告警功能实际很少用(了解下就行)
- Grafana可以设置告警规则,类似(prometheus的告警规则),自带告警功能,类似(alertmanager)
1、Grafana支持的告警渠道
Grafana Alerting 支持多种告警渠道,比如Alertmanager、钉钉、微信、Discord、Email、Kafka、Pushover、Telegram、Webhook 等等,我们这里使用钉钉和 Email 进行展示说明。
grafana的Email配置
邮箱告警通常是最常见的告警接收方式,通过 Grafana 告警需要在 Grafana 的配置文件中配置 stmp 服务。在配置文件 /etc/grafana/grafana.ini
文件中添加 SMTP/Emailing
配置块并开启 Alerting
:
https://grafana.com/docs/grafana/latest/alerting/
- docker安装修改
config.monitoring
配置一定要和我使用docker安装prometheus的方法一致:
注:通过修改config.monitoring实现
cat >>grafana/config.monitoring<<"EOF"
GF_SMTP_ENABLED=true
GF_SMTP_HOST=smtp.163.com:465
GF_SMTP_USER=cdring@163.com
GF_SMTP_PASSWORD=MONBUFHOQZPBXHGD
GF_SMTP_FROM_ADDRESS=cdring@163.com
EOF
运行下面命令重启
docker-compose up -d
- 二进制安装,修改grafana.ini
vim /opt/prometheus/grafana/conf/defaults.ini
增加如下配置:
[smtp]
enabled = true
host = smtp.163.com:465
user = xxx@163.com
password = ********
skip_verify = true
from_address = xxx@163.com
from_name = Grafana
检查
http://192.168.11.61:3000/admin/settings
163邮箱开启pop3/smtp
需要注意的是这里我们使用的是 163 的邮箱进行发送,在配置 smtp
的时候需要在邮箱中开启 IMAP/SMTP
和 POP3/SMTP
两个服务,并添加一个授权码,上面的 password 密码使用的就是授权码进行认证:
2、Grafana配置告警渠道
修改默认邮件告警渠道
回到 Grafana 页面中,点击左侧的Alerting在点击Contact points,在Contact point name修改grafana-default-email,如下图:
修改接收报警信息的邮箱,测试没问题后,点保存
添加钉钉告警渠道
- 需要提前创建webhook地址和开放ip白名单
回到Contact points页面,点击new contact point,如下图
在Create contact point页面中,填写名称,以及选择对应对应的告警渠道,填写webhook地址,发送测试消息,完成后保存,如下图:
添加alertmanager告警渠道
配置默认接收的告警渠道
点击左侧的Alerting在点击 Notification channels
,在default for all alerts默认中点编辑
编辑页面中,选择我们之前添加好的告警渠道。配置默认的告警渠道
3、添加告警规则
告警规则填写:
下图是以nodedown举例(视频中是以mysqldown,以视频为准)。如果在Prometheus添加了up(mysql_up)告警规则后,就不需要在grafana重复添加。
完成后,在alert rules的grafana显示新增加的告警规则,如下图:
4、测试
接上面,把node_exporter关闭。视频中是以mysql_exporter举例,忽略这步。
docker stop node_exporter
然后测试grafana配置的邮件和钉钉是否收到告警消息
5、总结
目前我在生产中使用Grafana的告警功能并不多。可能是因为我自己已经在Prometheus写好了告警规则。所以没必要在重复了
实际用途
1、有的同学觉得在Prometheus添加告警规则配置比较麻烦,你也可以在grafana里面来通过网页端添加
2、对于不想写脚本或开发语言的同学。又想对数据库的某些关键业务表进行监控(前提添加MySQL数据源)。
,可以使用Grafanfa的告警功能,对数据库的某些重要的表做一个展示并监控报警。
二、我的微信
如果碰到问题,可以随时加我微信,谢谢
评论区