无法向 Prometheus 公开 Flink 指标



我试图向普罗米修斯公开Flink的内置度量,但不知何故,普罗米修斯无法识别目标——JMX和普罗米修斯报告器。

prometheus.yml中定义的抓取如下:

scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
- job_name: 'kafka-server'
static_configs:
- targets: ['localhost:7071']
- job_name: 'flink-jmx'
static_configs:
- targets: ['localhost:8789']
- job_name: 'flink-prom'
static_configs:
- targets: ['localhost:9249']

我的flink-conf.yml有以下行:

#metrics.reporters: jmx, prom
metrics.reporters: jmx, prometheus
#metrics.reporter.jmx.factory.class: org.apache.flink.metrics.jmx.JMXReporterFactory
metrics.reporter.jmx.class: org.apache.flink.metrics.jmx.JMXReporter
metrics.reporter.jmx.port: 8789
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.port: 9249

然而,当运行WordCount 时,两个Flink目标都已关闭

IntelliJ中的
  • 作为罐子:java -jar target/flink-word-count.jar --input src/main/resources/loremipsum.txt
  • 作为Flink作业:flink run target/flink-word-count.jar --input src/main/resources/loremipsum.txt

根据Flink文档,我不需要JMX的任何额外依赖项,也不需要为Prometheus报告程序提供flink/lib/中提供的flink-metrics-prometheus-1.10.0.jar的副本。

我做错了什么?缺少什么?

我相信,这个特定的作业会很快完成。一旦你完成了设置,可能就没有什么有趣的指标了,因为作业运行的时间不够长,无法显示任何内容。

使用小型集群(如java -jar ...(运行时,不会加载flink-conf.yaml文件(除非您在工作中做了一些非常特殊的事情来加载它(。还要注意,此文件通常具有.yaml扩展名;我不确定如果使用.yml是否有效。

您可以检查点动管理器和任务管理器日志,以确保正在加载报告器。

FWIW,上一次我这样做时,我使用了这个设置,这样我就可以从多个进程中抓取:

# flink-conf.yaml
metrics.reporters: prom
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.port: 9250-9260
# prometheus.yml
scrape_configs:
- job_name: 'flink'
static_configs:
- targets: ['localhost:9250', 'localhost:9251']

相关内容

  • 没有找到相关文章