普罗米修斯不显示 flink 指标



我的 flink 作业中有以下代码;

@Override
public void open(Configuration config) {
this.counter = getRuntimeContext()
.getMetricGroup()
.counter("myCounter");
}
@Override
public Tuple2<String, String> map(String s) throws Exception {
this.counter.inc();
Thread.sleep(5000);
return new Tuple2<String, String>(s, s.toUpperCase());
}

在普罗米修斯分布中的prometheus.yml中,我有以下内容:

- job_name: 'flink-prometheus'
scrape_interval: 5s
static_configs:
- targets: ['localhost:9999']
metrics_path: /

在 flink 发行版中的 flink-conf.yaml 中:

metrics.reporters: prom
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.host: 127.0.0.1
metrics.reporter.prom.port: 9999

在普罗米修斯板上,我可以看到 localhost:9999 作为目标,以及各种指标日志。但是我在代码中添加的计数器没有日志。我搜索了字符串"myCounter"和"flink-prometheus",但结果为零。

我还需要执行哪些操作才能显示我的指标?

我在 https://github.com/mbode/flink-prometheus-example 中的示例和您自己的配置之间看到的主要区别在于该示例正在抓取作业管理器和任务管理器:

scrape_configs:
- job_name: 'flink'
static_configs:
- targets: ['job-cluster:9249', 'taskmanager1:9249', 'taskmanager2:9249']

在我自己的例子中 - 参见 Flink Timing Explorer - 我发现也有必要这样做。以下是对我有用的方法:

flink-conf.yaml

metrics.reporters: prom
metrics.reporter.prom.class: org.apache.flink.metrics.prometheus.PrometheusReporter
metrics.reporter.prom.port: 9250-9260

普罗米修斯·亚姆

global:
scrape_interval: 5s
evaluation_interval: 5s
scrape_configs:
- job_name: 'flink'
static_configs:
- targets: ['host.docker.internal:9250', 'host.docker.internal:9251']

相关内容

  • 没有找到相关文章

最新更新