再说一下我的详细情况,集群的是*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]> 于2020年4月30日周四 下午7:13写道:

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

回复