使用Prometheus监控Flink集群及作业

打印 上一主题 下一主题

主题 1834|帖子 1834|积分 5502


如何使用Prometheus监控Flink集群及作业

1. 设置Flink指标上报

Flink通过内置的PrometheusPushGatewayReporter或PrometheusReporter将指标推送到Prometheus服务器或直接袒露HTTP端点供Prometheus抓取。


  • 修改Flink设置文件(flink-conf.yaml)
    1. # 使用PushGateway模式(适用于瞬态作业)
    2. metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
    3. metrics.reporter.promgateway.host: <prometheus-pushgateway-IP>
    4. metrics.reporter.promgateway.port: 9091
    5. metrics.reporter.promgateway.interval: 60 SECONDS
    6. # 或使用直接暴露HTTP端点(适用于常驻集群)
    7. metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
    复制代码
    根据部署模式选择合适的上报方式。Kubernetes环境推荐结合Service袒露HTTP端点。
2. 设置Prometheus抓取指标



  • 修改Prometheus设置文件(prometheus.yml)
    1. scrape_configs:
    2.   # 抓取PushGateway数据(若使用PushGateway模式)
    3.   - job_name: 'pushgateway'
    4.     static_configs:
    5.       - targets: ['<prometheus-pushgateway-IP>:9091']
    6.   # 直接抓取Flink TaskManager/JobManager指标(若使用HTTP端点模式)
    7.   - job_name: 'flink'
    8.     static_configs:
    9.       - targets: ['<flink-jobmanager-IP>:9249', '<flink-taskmanager-IP>:9250']
    复制代码
    重启Prometheus服务或实行热加载命令使设置生效:
    1. curl -X POST http://<Prometheus-IP>:9090/-/reload  # 热加载配置
    复制代码
3. 验证数据采集

访问Prometheus Web界面(http://<rometheus-IP>:9090),输入Flink指标名称(如flink_taskmanager_Status_Shuffle_Netty_UsedMemory)查询是否成功采集数据。
4. 设置Grafana可视化



  • 添加Prometheus数据源:在Grafana中设置Prometheus服务器地点。
  • 导入Flink监控模板:使用社区提供的Flink仪表板模板(JSON格式),直接导入Grafana即可天生可视化图表。
5. 注意事项



  • 网络连通性:确保Prometheus服务器可访问Flink组件或PushGateway的端口。
  • 指标分类:Flink指标分为系统指标(如内存、CPU)和作业级指标(如吞吐量、延伸),需根据需求筛选。
  • Kubernetes部署:若Flink运行在Kubernetes上,需通过Service或Ingress袒露监控端点。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

络腮胡菲菲

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表