操作系统: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的,如有需要,请留言
配置文件准备:
修改prometheus的配置文件,主要配置其拉去数据的地址
targets 中的地址是需要拉去数据的服务地址,此配置文件中只配pushgateway的服务地址。(同时可以添加node_exporter地址,来监控服务器的一些资源数据,例如配置中被注释的 node resources)
grafana相关配置 defaults.ini:
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
配置告警通知:
配置数据源:
点击 test测试是否可以连接。
配置邮件告警:
配置路径:Grafana左上角图标 -->Alerting --> Configure notifications -->New Channel 进行设置
如果想要通知多个邮箱,可以在Email address栏中通过 ; 进行配置,配置完之后可以使用“Send Test”进行测试,会收到一份测试邮件:
配置钉钉告警:
下载安装钉钉后,需要添加一个机器人来接收告警信息:
切换至Grafana同样使用 New Channel 进行配置,下拉窗口选择“DingDing”
同样使用 “Send Test”进行测试,会想 群组发送一条测试信息
增加指标监控:
Grafana左上角图标 -->Dashboard -->create your fist dashboard -->Graph
其他指标的维护已在另外一篇文章(Ubuntu 16.04 安装Grafana并配置监控(Grafana + MySQL))中介绍过,此处不再赘述,此处只对Metrices 和 Alert 进行介绍:
Condition 选项中是配置监控指标的报警限制:
监控数据的什么指标(when)从此时开始1分钟内(query(A,1m,now))超出阈值(is above),则进行告警
在上图例子中使用的是最大值(max())
配置结束后可以使用“Test Rule”来验证查询是否有问题
Send to 中配置的是告警方式,点击 +可以添加前面增加的 Altering
Message 中配置的是告警的具体描述
至此,告警配置已经配置结束,下面进行验证。
使用脚本或浏览器持续调用埋点接口,当均值超出阈值时,就会触发告警:
一段时间后,当指标恢复到阈值以下,会发一封OK邮件