Grafana+prometheus 使用 Email 或 钉钉告警

操作系统:Ubuntu 16.04

依赖环境:docker (文章中所涉及到的镜像是本地自己打的,如有需要,请下载 镜像地址)

镜像文件:grafana-prometheus                    latest              c0b5646cc7b4      656MB (镜像内包括:grafana-4.6.2+node_exporter-0.14.0-rc.2+prometheus-1.5.2+pushgateway-0.4.0 服务,使用 supervisord 进行管理)

注:此篇文章中prometheus中的数据是由应用App 通过 metrice 埋点进行统计push的,如有需要,请留言

Grafana+prometheus 使用 Email 或 钉钉告警_第1张图片
prometheus 原理


配置文件准备:

修改prometheus的配置文件,主要配置其拉去数据的地址

Grafana+prometheus 使用 Email 或 钉钉告警_第2张图片
prometheus.yml

targets 中的地址是需要拉去数据的服务地址,此配置文件中只配pushgateway的服务地址。(同时可以添加node_exporter地址,来监控服务器的一些资源数据,例如配置中被注释的 node resources)

grafana相关配置 defaults.ini:

Grafana+prometheus 使用 Email 或 钉钉告警_第3张图片
修改告警邮件中访问监控页面的地址
Grafana+prometheus 使用 Email 或 钉钉告警_第4张图片
修改告警邮件地址

host = smtp.163.com:25      163服务器的smtp地址及端口,25端口是非tls端口,不需要证书认证

user = ******@163.com        邮箱用户

password =***********          邮件服务器登录密码

from_address = ****@163.com 发送告警邮件的邮箱

from_name = Grafana        发送告警邮件的名称

注:grafana的邮箱配置也可以不再配置文件中配置,可以在docker 启动时进行参数化配置

启动容器:

docker run -d \
-v /home/mpsp/dockerfile/grafana-prometheus/defaults.ini:/etc/grafana/conf/defaults.ini  \
-v /home/mpsp/dockerfile/grafana-prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-p 3000:3000 \
-p 9100:9100 \
-p 9090:9090 \
-p 9091:9091 \
--name grafana-prometheus grafana-prometheus

也可以使用以下方式启动(不在defaults.ini 中配置邮件信息的)

docker run -d \
-e GF_SMTP_ENABLED=true \
-e GF_SMTP_SKIP_VERIFY=true \
-e GF_SMTP_HOST=smtp.163.com:25 \
-e GF_SMTP_USER=****@163.com \
-e GF_SMTP_PASSWORD=****** \
-e GF_SMTP_FROM_ADDRESS=****@163.com  \
-v /home/mpsp/dockerfile/grafana-prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-p 3000:3000 \
-p 9100:9100 \
-p 9090:9090 \
-p 9091:9091 \
--name grafana-prometheus grafana-prometheus

Grafana+prometheus 使用 Email 或 钉钉告警_第5张图片
访问 IP:9091 可以查看pushgateway收集到的监控数据
Grafana+prometheus 使用 Email 或 钉钉告警_第6张图片
访问 IP:9090/graph 可以调用prometheus的监控项进行图像化展示
Grafana+prometheus 使用 Email 或 钉钉告警_第7张图片
访问 IP:3000 访问 grafana 监控平台,默认登录信息 admin/admin

配置告警通知:

配置数据源:

Grafana+prometheus 使用 Email 或 钉钉告警_第8张图片
增加                                        prometheus数据源

点击 test测试是否可以连接。

配置邮件告警:

Grafana+prometheus 使用 Email 或 钉钉告警_第9张图片
Email告警配置

配置路径:Grafana左上角图标 -->Alerting --> Configure notifications -->New Channel 进行设置

如果想要通知多个邮箱,可以在Email address栏中通过 ; 进行配置,配置完之后可以使用“Send Test”进行测试,会收到一份测试邮件:

Grafana+prometheus 使用 Email 或 钉钉告警_第10张图片
测试邮件


配置钉钉告警:

下载安装钉钉后,需要添加一个机器人来接收告警信息:

Grafana+prometheus 使用 Email 或 钉钉告警_第11张图片
机器人管理
Grafana+prometheus 使用 Email 或 钉钉告警_第12张图片
自定义一个接收服务器
Grafana+prometheus 使用 Email 或 钉钉告警_第13张图片
需要添加一个群组用于接收告警信息,添加完后,下一步会生产一个 webhook 地址
Grafana+prometheus 使用 Email 或 钉钉告警_第14张图片
创建完成

切换至Grafana同样使用 New Channel 进行配置,下拉窗口选择“DingDing”

Grafana+prometheus 使用 Email 或 钉钉告警_第15张图片
添加钉钉通知,url 是 前面创建机器人服务器时生成的webhook地址

同样使用 “Send Test”进行测试,会想 群组发送一条测试信息

Grafana+prometheus 使用 Email 或 钉钉告警_第16张图片
测试信息

增加指标监控:

Grafana左上角图标 -->Dashboard -->create your fist dashboard -->Graph

Grafana+prometheus 使用 Email 或 钉钉告警_第17张图片
添加监控图
Grafana+prometheus 使用 Email 或 钉钉告警_第18张图片
编辑

其他指标的维护已在另外一篇文章(Ubuntu 16.04 安装Grafana并配置监控(Grafana + MySQL))中介绍过,此处不再赘述,此处只对Metrices 和 Alert 进行介绍:

Grafana+prometheus 使用 Email 或 钉钉告警_第19张图片
该配置是展示每秒接口调用的次数
Grafana+prometheus 使用 Email 或 钉钉告警_第20张图片
配置告警指标

Condition 选项中是配置监控指标的报警限制:

监控数据的什么指标(when)从此时开始1分钟内(query(A,1m,now))超出阈值(is above),则进行告警

在上图例子中使用的是最大值(max())

配置结束后可以使用“Test Rule”来验证查询是否有问题

Grafana+prometheus 使用 Email 或 钉钉告警_第21张图片
配置告警内容

Send to 中配置的是告警方式,点击 +可以添加前面增加的 Altering

Message 中配置的是告警的具体描述

Grafana+prometheus 使用 Email 或 钉钉告警_第22张图片
告警历史信息

至此,告警配置已经配置结束,下面进行验证。


使用脚本或浏览器持续调用埋点接口,当均值超出阈值时,就会触发告警:

Grafana+prometheus 使用 Email 或 钉钉告警_第23张图片
峰值超出阈值5,虚线包含的部分
Grafana+prometheus 使用 Email 或 钉钉告警_第24张图片
告警邮件

一段时间后,当指标恢复到阈值以下,会发一封OK邮件

Grafana+prometheus 使用 Email 或 钉钉告警_第25张图片
恢复邮件
Grafana+prometheus 使用 Email 或 钉钉告警_第26张图片
钉钉接收收到的告警信息

你可能感兴趣的:(Grafana+prometheus 使用 Email 或 钉钉告警)