大数据监控系列(二)——Prometheus+Grafana在CDH使用实践(包含Altermanager告警)
1 概述
我们之前在《大数据监控系列(一)——Promehteus+Grafana监控概述》中对Promehteus和Grafana的基本概念做了介绍,这里将介绍Promehteus和Grafana在cdh监控中的实践,本文主要以监控hadoop和yarn为案例来做介绍
2 前置条件
已安装CDH集群
已安装Promehteus和Grafana
已下在所需的jar包并放在如下位置
注:jmx_prometheus_javaagent-0.3.1.jar(用来监控采集java监控对象运行中的metrics指标)
3 开启监控对象的jmx
在cdh ui界面,选择实例,在配置→高级中添加对应参数即可,然后重启实例,使参数生效
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=9604 -javaagent:/etc/prometheus/jmx_prometheus_javaagent-0.3.1.jar=9504:/etc/prometheus/nodemanager.yml -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=9601 -javaagent:/etc/prometheus/jmx_prometheus_javaagent-0.3.1.jar=9501:/etc/prometheus/datanode.yml -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=9603 -javaagent:/etc/prometheus/jmx_prometheus_javaagent-0.3.1.jar=9503:/etc/prometheus/resourcemanager.yml -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.port=9609 -javaagent:/etc/prometheus/jmx_prometheus_javaagent-0.3.1.jar=9509:/etc/prometheus/namenode.yml |
注释:更多jmx开启参考下面文档:
https://dtstack.yuque.com/vkpkwx/gmyg6z/wn70eb
4 设置Prometheus配置文件
4.1 prometheus.yml配置文件
4.2 实例配置文件
4.3 参数注释
参数 | 含义 |
scrape_interva | 抓取间隔,默认继承global值 |
scrape_timeout | 抓取超时时间,默认继承global值 |
metric_path | 抓取路径, 默认是/metrics |
scheme | 指定采集使用的协议,http或者https |
params | 指定url参数 |
basic_auth | 指定认证信息 |
*_sd_configs | 指定服务发现配置 |
static_configs | 静态指定服务job |
relabel_config | relabel设置 |
注:我们这里参数设置要注意的就是端口对应好,配置文件修改后需要重启prometheus
重启后打开prometheus ui看到如下界面,则说明配置成功了。
5 配置Grafana
5.1 配置数据源
5.2 生产Dashboard
也可以直接导入模板:
常用模板地址:
https://grafana.com/grafana/dashboards?direction=asc&orderBy=name&dataSource=prometheus
5.3 主要 模块介绍
变量设置
Edit Panel
5.4 效果展示
6 Altermanager监控告警
6.1 AlterManager官方文档地址
6.2 AlterManager介绍
Alertmanager处理由例如Prometheus服务器等客户端发来的警报。它负责删除重复数据、分组,并将警报通过路由发送到正确的接收器,比如电子邮件、Slack、dingtalk等。Alertmanager还支持groups,silencing和警报抑制的机制。
6.3 安装altermanager
本文 实现Grafana的告警,需要通过altermanager这个组件;在Grafana服务端配置告警规则,在altermanager组件配置企业微信
6.4 介绍企业微信ID

企业ID

6.5 grafana+alertmanager实现微信报警
配置 报警模板
6.6 grafana接入Alertmanager
