prometheus 原理操作系统: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的配置文件,主要配置其拉去数据的地址
prometheus.ymltargets 中的地址是需要拉去数据的服务地址,此配置文件中只配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 启动时进行参数化配置
启动容器:
访问 IP:9091 可以查看pushgateway收集到的监控数据 访问 IP:9090/graph 可以调用prometheus的监控项进行图像化展示 访问 IP:3000 访问 grafana 监控平台,默认登录信息 admin/admindocker 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
配置告警通知:
配置数据源:
增加 prometheus数据源点击 test测试是否可以连接。
配置邮件告警:
Email告警配置
配置路径:Grafana左上角图标 -->Alerting --> Configure notifications -->New Channel 进行设置
如果想要通知多个邮箱,可以在Email address栏中通过 ; 进行配置,配置完之后可以使用“Send Test”进行测试,会收到一份测试邮件:
测试邮件配置钉钉告警:
下载安装钉钉后,需要添加一个机器人来接收告警信息:
机器人管理 自定义一个接收服务器 需要添加一个群组用于接收告警信息,添加完后,下一步会生产一个 webhook 地址 创建完成切换至Grafana同样使用 New Channel 进行配置,下拉窗口选择“DingDing”
添加钉钉通知,url 是 前面创建机器人服务器时生成的webhook地址同样使用 “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 中配置的是告警的具体描述
告警历史信息至此,告警配置已经配置结束,下面进行验证。
使用脚本或浏览器持续调用埋点接口,当均值超出阈值时,就会触发告警:
峰值超出阈值5,虚线包含的部分 告警邮件一段时间后,当指标恢复到阈值以下,会发一封OK邮件
恢复邮件 钉钉接收收到的告警信息
网友评论