最近在將Flink的Metrics存儲由InfluxDB遷移到Prometheus的時候,由於使用的版本問題,導致一直出現下面的WARN日志
2020-05-16 12:36:57.794 [Flink-MetricRegistry-thread-1] WARN o.a.flink.metrics.prometheus.PrometheusPushGatewayReporter - Failed to push metrics to PushGateway with jobName flinkb70c1c134b3ba0a918a7b21a4d443982. java.io.IOException: Response code from http://xx.xx.xx.xx:9091/metrics/job/flinkb70c1c134b3ba0a918a7b21a4d443982 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:105) at org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter.report(PrometheusPushGatewayReporter.java:76) at org.apache.flink.runtime.metrics.MetricRegistryImpl$ReporterTask.run(MetricRegistryImpl.java:430) 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:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
這里使用的PushGateway版本是1.2.0,Flink1.10.0源碼使用Prometheus的版本還是0.3.0,最后發現是因為版本不兼容的問題,把PushGateway的版本降到0.9.1就可以了