专栏首页千里行走flink-1:flink1.11.3单机部署并开启prometheus-metrics

flink-1:flink1.11.3单机部署并开启prometheus-metrics

下载flink1.11.3:

https://flink.apache.org/downloads.html

https://www.apache.org/dyn/closer.lua/flink/flink-1.11.3/flink-1.11.3-bin-scala_2.12.tgz

wget https://downloads.apache.org/flink/flink-1.11.3/flink-1.11.3-bin-scala_2.12.tgz

tar -xzvf flink-1.11.3-bin-scala_2.12.tgz

cd flink-1.11.3/bin

启动单机flink:

./start-cluster.sh

增加prometheus的度量支持:

cp plugins/metrics-prometheus/flink-metrics-prometheus-1.11.3.jar lib/

修改flink-conf.yaml配置文件(All job managers and task managers will expose the metrics on the configured port):

vim conf/flink-conf.yaml

metrics.reporters: prom

metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter

metrics.reporter.prom.port: 9999

杀掉flink后重启:

./bin/stop-cluster.sh

./bin/start-cluster.sh

访问metrics:

http://127.0.0.1:9999/metrics

运行一个测试demo:

打开一个界面输入如下指令:

nc -l 9000

然后提交demo到本地flink:

./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000

在第一个用nc打开的界面进行输入并回车:

点开flink的taskManager界面:

http://127.0.0.1:8081/#/task-manager

点击运行的task查看日志:

说明demo正常运行了。

但是这种方式获取metrics有一个问题,因为task是由yarn调度到不同节点然后运行的,所以prometheus配置中不能写死IP,只能通过pushgateway的方式由flink的job/task将metrics主动推送到pushgateway,然后prometheus定期的从pushgateway取数据。这样,需要对flink-conf.yaml做改动:

metrics.reporter.promgateway.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter

metrics.reporter.promgateway.host: 192.168.111.64

metrics.reporter.promgateway.port: 9091

metrics.reporter.promgateway.jobName: flink

metrics.reporter.promgateway.randomJobNameSuffix: true

metrics.reporter.promgateway.deleteOnShutdown: false

metrics.reporter.promgateway.groupingKey: env=test;app=flink-standalone

metrics.reporter.promgateway.interval: 30 SECONDS

再次启动flink,可以在prometheus的pushgateway看到:

打开prometheus可以看到已经收集到的指标:

有采集数据后,贺鹏远后续在grafana出监控图表,最后观察指标变化,确认报警公式。

相关文档:

Apache Flink 文档

https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/

本地集群

https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/ops/deployment/local.html

Plugins

https://ci.apache.org/projects/flink/flink-docs-release-1.11/zh/ops/plugins.html

Flink and Prometheus: Cloud-native monitoring of streaming applications

https://flink.apache.org/features/2019/03/11/prometheus-monitoring.html

Metrics

https://ci.apache.org/projects/flink/flink-docs-release-1.11/monitoring/metrics.html

入门flink---测试demo

https://www.it610.com/article/1294877495442612224.htm

本文分享自微信公众号 - 千里行走(a_thousands_of_miles),作者:千里行走

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-02-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于Prometheus+Grafana打造企业级Flink监控系统

    在进入本文之前,我先问大家一个问题,你们公司或者业务系统上是如何对生产集群上的数据同步任务、实时计算任务或者是调度任务本身的执行情况和日志进行监控的呢?可能你会...

    大数据技术与架构
  • 使用Prometheus监控Flink

    这篇文章介绍了如何利用Apache Flink的内置指标系统以及如何使用Prometheus来高效地监控流式应用程序。

    小小科
  • Flink1.8源码编译安装

    这里我们要介绍的是源码编译的方式,我们需要直接从github上下载最新的relese1.8版本源码或者通过git clone命令来拉取,如下:

    我是攻城师
  • Flink部署及作业提交(On Flink Standalone)

    部署Flink之前首先需要安装好JDK,可以选择8或11版本,我这里选择的是JDK11:

    端碗吹水
  • 监控实战Prometheus+Grafana

    这期的分享是监控实战,其实不想写这篇的,因为网上相关的文章也挺多的,但是出于光说不练都是假把式,而且也想告诉你:当帅气的普罗米修斯(Prometheus)遇到高...

    一猿小讲
  • Flink状态监控介绍

    对于需要7 * 24小时不间断运行的流式计算程序来说,能实时监控程序运行状况、出现异常告警能立即响应并快速定位问题是必须具备的能力。

    黑光技术
  • 从 0 到 1 搭建一套 Flink 的监控系统

    之前讲解了 JobManager、TaskManager 和 Flink Job 的监控,以及需要关注的监控指标有哪些。本文带大家讲解一下如何搭建一套完整的 F...

    zhisheng
  • 实践指路明灯,源码剖析flink-metrics

    通过上期的分享,我们对 Metrics 类库有了较深入的认识,并对指标监控的几个度量类型了如指掌。

    一猿小讲
  • 零基础学Flink:监控 on Prometheus

    好久没更新Flink系列了,之前果然在Flink SQL 上淹死了,那部分暂时咕一段时间,等日后学有所成再补上,由于最近对普罗米修斯感兴趣,今天借机来说说监控吧...

    麒思妙想

扫码关注云+社区

领取腾讯云代金券