【运维监控】Prometheus+grafana监控flink运行情况


文章目录


  • 本示例通过flink自带的监控信息暴露出来,然后将数据收集到prometheus中,最后通过grafana的dashboard导入模板进行可视化。
  • 本示例分为四个部分,即prometheus、grafana部署、flink配置修改和最后的集成。
  • 说明:本示例中的部署环境没有要求,即应用部署的机器根据实际情况而定,只要网络连通即可。

一、prometheus

参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况关于prometheus的部署。

二、grafana

参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况 关于grafana的部署。

三、flink配置修改

flink的部署请参考文章:1、Flink1.12.7或1.13.5详细介绍及本地安装部署、验证

在该文章的基础上,增加如下配置,修改的是flink-conf.yaml配置文件。

yml 复制代码
metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory

配置文件保存后,重启flink集群。由于是集群环境,所以需要将整个集群的配置文件都需要修改,端口可以设置,也可以不设置,不设置端口,默认的是9249。

flink集群启动后,集群的任意服务器都可以按照如下方式访问暴露的指标数据,形如http://server4:9249/,图示如下。

1、修改prometheus配置文件

在prometheus的配置文件(prometheus.yml)中添加如下配置部分。作者的flink是集群高可用环境,即jobmanager部署在server1、server2上,taskmanager部署在server1、server2和server3服务器上。

bash 复制代码
  - job_name: "flink-job-manger"
    static_configs:
      - targets: [ "server1:9249","server2:9249" ]
    metrics_path: /
  - job_name: "flink-task-manger"
    static_configs:
      - targets: [ "server2:9249","server3:9249","server4:9249" ]
    metrics_path: /

重启prometheus后,并验证是否收集到监控信息。

查看Prometheus是否监控到运行的flink应用如下图。

查看prometheus是否收集到监控信息如下图(查询flink_taskmanager_Status_Shuffle_Netty_UsedMemory)

2、导入grafana模板

导入过程不再赘述,参考文章:【运维监控】Prometheus+grafana监控tomcat8.5 运行情况

本示例导入的模板ID是14911(Apache Flink (2021) Dashboard for Job / Task Manager)。

3、验证

以上所涉及的服务均能正常的运行,以及验证都通过。

点击添加的flink模板,则显示如下图所示。(如果想显示的数据比较多,则需要使用flink做一些复杂的任务,否则有些数据可能没有。)

  • Job Manager (JVM - CPU)
  • Job Manager (JVM - Memory Usage)
  • Job Manager (JVM - Garbage Collector)
  • Job Manager (Slots & Jobs)
  • Job Manager (Checkpoints)
  • Task Manager (JVM - CPU)
  • Task Manager (JVM - Memory Usage)
  • Task Manager (JVM - Garbage Collector) 和Task Manager (Memory - Flink)
  • Task Manager (Memory - Shuffle Netty)
  • Task Manager (Job Task - Diag)
  • Task Manager (Job Task - General)



    以上,完成了Prometheus+grafana监控flink运行情况示例。
相关推荐
好学且牛逼的马14 小时前
【工具配置|docker】
运维·docker·容器
发哥来了15 小时前
AI视频生成企业级方案选型指南:2025年核心能力与成本维度深度对比
大数据·人工智能
文言一心15 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
北邮刘老师15 小时前
智能体治理:人工智能时代信息化系统的全新挑战与课题
大数据·人工智能·算法·机器学习·智能体互联网
北邮刘老师16 小时前
A3C Network:智能体互联网的层次化视图
运维·服务器·网络
geneculture16 小时前
融智学形式本体论:一种基于子全域与超子域的统一认知架构
大数据·人工智能·哲学与科学统一性·信息融智学·融智时代(杂志)
空中楼阁,梦幻泡影16 小时前
LoRA 详细解析,使用LoRA 方式对模型进行微调详细操作指南
运维·服务器·人工智能·机器学习·语言模型
晚风吹长发17 小时前
初步了解Linux中的动静态库及其制作和使用
linux·运维·服务器·数据结构·c++·后端·算法
Le_ee17 小时前
dc4打靶报告
运维·服务器·网络
xiaobaishuoAI17 小时前
分布式事务实战(Seata 版):解决分布式系统数据一致性问题(含代码教学)
大数据·人工智能·分布式·深度学习·wpf·geo