当我使用flink- metrics - prometheus _2.11-1.10.0.jar向prometheus报告指标时,我得到了以下错误,我想知道这个问题的原因以及如何解决它:
2020-04-20 15:32:17.940 [Flink-MetricRegistry-thread-1] WARN org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter - Failed to push metrics to PushGateway with jobName oceanus, groupingKey {}.
java.io.IOException: Response code from http://9.91.161.72:80/metrics/job/oceanus was 200
at org.apache.flink.shaded.io.prometheus.client.exporter.PushGateway.doRequest(PushGateway.java:297)
at org.apache.flink.shaded.io.prometheus.client.exporter.PushGateway.push(PushGateway.java:127)
at org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter.report(PrometheusPushGatewayReporter.java:109)
at org.apache.flink.runtime.metrics.MetricRegistryImpl$ReporterTask.run(MetricRegistryImpl.java:441)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)发布于 2020-05-07 15:11:42
看起来how responses are handled最近有了变化。
我怀疑您需要将prometheus jar与服务器版本匹配,反之亦然。
发布于 2020-09-16 15:03:10
看起来https://github.com/apache/flink/blob/release-1.9.1/pom.xml#L125 -metrics- prometheus -1.10.0.jar包含一个非常旧的prometheus客户端java版本(https://github.com/apache/flink/blob/master/flink-metrics/flink-metrics-prometheus/pom.xml#L79,flink- 0.3.0版本)。
"200 OK“响应代码的恼人警告已修复为0.8.0 (https://github.com/prometheus/client_java/blob/parent-0.8.0/simpleclient_pushgateway/src/main/java/io/prometheus/client/exporter/PushGateway.java#L316)。该版本包含在Flink 1.11.0 (https://github.com/apache/flink/blob/release-1.11.0/pom.xml#L127)之后。
因此,解决方案是将flink-metrics-prometheus-1.11.0.jar作为类路径的一部分。
不要担心那里的Flink版本不兼容,因为我使用的是flink-metrics-prometheus-1.11.0.jar的Flink 1.9.1,一切正常。我猜在Flink版本之间没有太多的变化
https://stackoverflow.com/questions/61629558
复制相似问题