架构#
简单的画了一下 以及粗浅的理解
- flink 原生环境中已经存在了 Prometheus 的插件 用于和 Prometheus 交互
- Prometheus 用于 metric 的采集
- node-exporter 会用到
- pushgateway 会用到
- Grafana 主要是 dashboard 的个性化 Prometheus 的页面虽然能看但是不美观
环境#
环境 / 组件 | 版本 |
---|---|
操作系统 | CentOS Linux release 7.9.2009 (Core) |
docker | Docker version 1.13.1 |
flink | 1.13.6 on docker |
部署#
Prometheus+Grafana 全部部署在 docker 上
1 准备工作
在 linux 中:
mkdir /opt/grafana-storage # grafana 数据存储目录
chmod -R 777 /opt/grafana-storage
vim /opt/prometheus/prometheus.yml # 创建并编辑
prometheus.yml (不要忘记修改 ip)
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
- job_name: linux
static_configs:
- targets: ['ip:9100']
labels:
instance: localhost
- job_name: 'pushgateway'
static_configs:
- targets: ['ip:9091']
labels:
instance: 'pushgateway'
flink 配置文件添加:
metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
metrics.reporter.promgateway.host: ip
metrics.reporter.promgateway.port: 9091
metrics.reporter.promgateway.jobName: flink
metrics.reporter.promgateway.randomJobNameSuffix: true
metrics.reporter.promgateway.deleteOnShutdown: true
2 部署
mkdir /opt/grafana-storage
chmod -R 777 /opt/grafana-storage
docker run -d -p 3000:3000 --name=grafana -v /opt/grafana-storage:/var/lib/grafana grafana/grafana
docker run -d -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" --net="host" prom/node-exporter
docker run -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
docker run -d -p 9091:9091 prom/pushgateway
flink 随便启动一个作业 用于测试
3 观察
网关查看 prometheus 三件套启动状态 (up 为启动)
http://ip:9090/targets#pool-pushgateway
gateway 查看监控到的 flink 作业
http://ip:9091
实践#
- Grafana 添加 Prometheus source
设置 添加 Prometheus
添加 url 点击 save
- 添加 Grafana dashborad 模板
grafana dashborad 库 搜索模板 复制 id
https://grafana.com/grafana/dashboards/
grafana 导入 添加 id 会自动下载
然后调一调就可以了
一些模板没有数据不清楚怎么回事
后续#
- flink process 中可配置监控指标 benchmark qps 数据量 延时