metrics.reporter.promgateway.jobName这个配置,可以通过java代码来设置,任务启动时,将它设成job id即可;
另外,把suffix那个配置去掉;

接下来,就根据exported_job去统计即可;



---原始邮件---
发件人: "俞剑波"<[email protected]&gt;
发送时间: 2020年4月30日(星期四) 晚上7:19
收件人: "user-zh"<[email protected]&gt;;
主题: Re: Flink监控: promethues获取到有的metrics没有包含flink 对应的job_name或者job_id


再说一下我的详细情况,集群的是*per job*模式,指标是都采集到了,然后说明一下我的配置和遇到的情况:
1.在flink-conf.yaml是这么配置的
metrics.reporter.promgateway.class:
org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporter
metrics.reporter.promgateway.host: 10.20.0.200
metrics.reporter.promgateway.port: 9091
metrics.reporter.promgateway.jobName: FlinkMonitor
metrics.reporter.promgateway.randomJobNameSuffix: true
metrics.reporter.promgateway.deleteOnShutdown: false

2.在promethues端都能够获取的到参数的值,但是获取不到flink对应的job_Name或者job_id的信息:
拿*flink_jobmanager_Status_JVM_Memory_Direct_MemoryUsed* 这个参数举例获取到的值:
{exported_job="FlinkMonitor00c46b7355bca443825de2b01ce2d3a2",host="hadoop224",instance="
10.20.0.200:9091",job="push_metrics"}
再拿另外一个参数*flink_jobmanager_job_numberOfCompletedCheckpoints*
举例:它就有jobname,和job_id
{exported_job="FlinkMonitor0ac46e79cf5d6fc2990db1574c2b0bf2",host="hadoop212",instance="
10.20.0.200:9091",job="push_metrics",*job_id*
="30f4075c798d6f3bd73c2bfe7bc54cf4",*job_name*="tj_history_log_itcourse"}

经过发现得出一个结论,凡是“*flink_jobmanager_Status_*”开头或者“*flink_jobmanager_Status_*
”发过来的都没有job_name和job_id

3.看过一个帖子也是per-job模式,它采用的influxdb,是去改源码:
https://blog.csdn.net/u013516966/article/details/103171484

4.希望有遇到这样问题并解决的大佬小伙伴能够帮个忙,说一下怎么解决。

俞剑波 <[email protected]&gt; 于2020年4月30日周四 下午7:13写道:

&gt; 我添加了这个参数配置发现这个只是解决了标签冲突,还是没有这个job_name:
&gt;
&gt; 
不加参数:flink_jobmanager_Status_JVM_Memory_Heap_Used{exported_job="myJobYJB4eea972f622437b738875b3e8e811a56",host="localhost",instance="pushgateway",job="pushgateway"}
&gt; 加了参数:
&gt; 
flink_jobmanager_Status_JVM_Memory_Heap_Used{host="localhost",job="myJobYJB4eea972f622437b738875b3e8e811a56"}
&gt;
&gt; 972684638 <[email protected]&gt; 于2020年4月30日周四 下午5:37写道:
&gt;
&gt;&gt; 你看看是不是因为没有没配honor_labels: true
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; ---原始邮件---
&gt;&gt; 发件人: "俞剑波"<[email protected]&amp;gt;
&gt;&gt; 发送时间: 2020年4月30日(星期四) 下午4:32
&gt;&gt; 收件人: "user-zh"<[email protected]&amp;gt;;
&gt;&gt; 主题: Re: Flink监控: promethues获取到有的metrics没有包含flink 对应的job_name或者job_id
&gt;&gt;
&gt;&gt;
&gt;&gt; 是的,我使用了!请问大佬有解决办法吗,真的卡很多天了,希望能够解决一下,非常感谢
&gt;&gt;
&gt;&gt; 972684638 <[email protected]&amp;gt; 于2020年4月30日周四 下午4:18写道:
&gt;&gt;
&gt;&gt; &amp;gt; 我想知道,你是否使用了pushgateway?
&gt;&gt; &amp;gt;
&gt;&gt; &amp;gt;
&gt;&gt; &amp;gt;
&gt;&gt; &amp;gt; ---原始邮件---
&gt;&gt; &amp;gt; 发件人: "俞剑波"<[email protected]&amp;amp;gt;
&gt;&gt; &amp;gt; 发送时间: 2020年4月30日(星期四) 下午4:01
&gt;&gt; &amp;gt; 收件人: "user-zh"<[email protected]&amp;amp;gt;;
&gt;&gt; &amp;gt; 主题: Flink监控: promethues获取到有的metrics没有包含flink 
对应的job_name或者job_id
&gt;&gt; &amp;gt;
&gt;&gt; &amp;gt;
&gt;&gt; &amp;gt; flink集群是per
&gt;&gt; &amp;gt;
&gt;&gt; &amp;gt;
&gt;&gt; 
job模式,所以当有多个并行度,任务就会有多个taskmanager在多个机器上面。采用flink-metrics-prometheus的方式会遇到一个问题,就是收集taskmanager的jvm信息时,promethues返回的记录里面没有flink对应的job_name或者job_id,导致不能将数据汇总起来,请问各位有遇到这个问题吗?是怎么解决的?非常感谢!
&gt;
&gt;

回复