【这是一猿小讲的第 56 篇原创分享】
这期的分享是监控实战,其实不想写这篇的,因为网上相关的文章也挺多的,但是出于光说不练都是假把式,而且也想告诉你:当帅气的普罗米修斯(Prometheus)遇到高颜值的格拉法纳(Grafana)究竟会擦出什么样的火花?所以忍不住还是想分享啊。
为了实战,我们再次请出架构图,请注意图中红色圈 1 的部分,主要分两条线去实战。
第一条战线:Prometheus 如何监控机器?
采用标准的PGOne技术组件Prometheus Server + Grafana + node_exporter完成对机器的性能监控。
第二条战线:Prometheus 如何监控 flink?
采用技术组件client lib(flink-metrics-prometheus_x.jar) + PushGateway + Prometheus Server + Grafana完成对 flink 的监控。
1. Prometheus 如何监控机器?
工欲善其事必先利其器,先下载相关组件包。prometheus 提供了两种下载方式,第一种是二进制压缩包的方式,第二种是 docker 镜像的方式。
#方式1:二进制压缩包下载链接
https://prometheus.io/download/
#方式2:docker镜像链接
https://hub.docker.com/u/prom
本次实战均采用 docker 镜像下载。
docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana
下载完成成, 输入命令 docker images 列出本地主机上的镜像(由于pushgateway镜像之前在本机已经下载过,你如果第一次跟着做,应该看不到这个,后面操作会进行下载)。
做好准备工作。
#创建 grafana 数据存储目录
mkdir /opt/grafana-storage
#因为 grafana 会在这个目录写入文件,赋权限。
chmod 777 -R /opt/grafana-storage
#创建 prometheus 配置文件存放目录
mkdir /opt/prometheus/
#在 prometheus 配置文件目录下,创建prometheus.yml文件
vi /opt/prometheus/prometheus.yml
# prometheus.yml中配置静态监控对象 targets,输入如下配置内容(请注意修改 IP 为你的真实 I