metrics.reporter.promgateway.jobName这个配置,可以通过java代码来设置,任务启动时,将它设成job id即可;
另外,把suffix那个配置去掉; 接下来,就根据exported_job去统计即可; ---原始邮件--- 发件人: "俞剑波"<[hidden email]> 发送时间: 2020年4月30日(星期四) 晚上7:19 收件人: "user-zh"<[hidden email]>; 主题: 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.希望有遇到这样问题并解决的大佬小伙伴能够帮个忙,说一下怎么解决。 俞剑波 <[hidden email]> 于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 <[hidden email]> 于2020年4月30日周四 下午5:37写道: > >> 你看看是不是因为没有没配honor_labels: true >> >> >> >> ---原始邮件--- >> 发件人: "俞剑波"<[hidden email]&gt; >> 发送时间: 2020年4月30日(星期四) 下午4:32 >> 收件人: "user-zh"<[hidden email]&gt;; >> 主题: Re: Flink监控: promethues获取到有的metrics没有包含flink 对应的job_name或者job_id >> >> >> 是的,我使用了!请问大佬有解决办法吗,真的卡很多天了,希望能够解决一下,非常感谢 >> >> 972684638 <[hidden email]&gt; 于2020年4月30日周四 下午4:18写道: >> >> &gt; 我想知道,你是否使用了pushgateway? >> &gt; >> &gt; >> &gt; >> &gt; ---原始邮件--- >> &gt; 发件人: "俞剑波"<[hidden email]&amp;gt; >> &gt; 发送时间: 2020年4月30日(星期四) 下午4:01 >> &gt; 收件人: "user-zh"<[hidden email]&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,导致不能将数据汇总起来,请问各位有遇到这个问题吗?是怎么解决的?非常感谢! > > |
请问可以怎么根据java代码去设置这个东西,希望大佬能教一下,非常感谢!!!
972684638 <[hidden email]> 于2020年4月30日周四 下午7:28写道: > metrics.reporter.promgateway.jobName这个配置,可以通过java代码来设置,任务启动时,将它设成job id即可; > 另外,把suffix那个配置去掉; > > 接下来,就根据exported_job去统计即可; > > > > ---原始邮件--- > 发件人: "俞剑波"<[hidden email]> > 发送时间: 2020年4月30日(星期四) 晚上7:19 > 收件人: "user-zh"<[hidden email]>; > 主题: 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.希望有遇到这样问题并解决的大佬小伙伴能够帮个忙,说一下怎么解决。 > > 俞剑波 <[hidden email]> 于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 <[hidden email]> 于2020年4月30日周四 下午5:37写道: > > > >> 你看看是不是因为没有没配honor_labels: true > >> > >> > >> > >> ---原始邮件--- > >> 发件人: "俞剑波"<[hidden email]&gt; > >> 发送时间: 2020年4月30日(星期四) 下午4:32 > >> 收件人: "user-zh"<[hidden email]&gt;; > >> 主题: Re: Flink监控: promethues获取到有的metrics没有包含flink > 对应的job_name或者job_id > >> > >> > >> 是的,我使用了!请问大佬有解决办法吗,真的卡很多天了,希望能够解决一下,非常感谢 > >> > >> 972684638 <[hidden email]&gt; 于2020年4月30日周四 下午4:18写道: > >> > >> &gt; 我想知道,你是否使用了pushgateway? > >> &gt; > >> &gt; > >> &gt; > >> &gt; ---原始邮件--- > >> &gt; 发件人: "俞剑波"<[hidden email]&amp;gt; > >> &gt; 发送时间: 2020年4月30日(星期四) 下午4:01 > >> &gt; 收件人: "user-zh"<[hidden email]&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,导致不能将数据汇总起来,请问各位有遇到这个问题吗?是怎么解决的?非常感谢! > > > > |
Hi
flink_jobmanager_Status 这种metrics属于jobmanager层级的metrics,这种metrics与job level的metrics,从概念上来说是不一样的。因为Flink是支持一个JM里面同时运行多个作业的,但是JM的JVM实际上只有一个,所以如果给JM的metrics增加其从属的job_id 的tag是不符合语义的。当然,如果一个host上有多个JM,现在Flink不太好区分,目前只有TM级别的tm_id可以区分不同的TM。 如果非要加上job_name 或者 job_id 才能识别的话,只能按照你分享的文章中修改reporter的代码。不过我觉得相比于增加job_name 这种tag,我更建议增加 cluster_name 这种tag。 祝好 唐云 ________________________________ From: 俞剑波 <[hidden email]> Sent: Thursday, April 30, 2020 22:00 To: [hidden email] <[hidden email]> Subject: Re: Flink监控: promethues获取到有的metrics没有包含flink 对应的job_name或者job_id 请问可以怎么根据java代码去设置这个东西,希望大佬能教一下,非常感谢!!! 972684638 <[hidden email]> 于2020年4月30日周四 下午7:28写道: > metrics.reporter.promgateway.jobName这个配置,可以通过java代码来设置,任务启动时,将它设成job id即可; > 另外,把suffix那个配置去掉; > > 接下来,就根据exported_job去统计即可; > > > > ---原始邮件--- > 发件人: "俞剑波"<[hidden email]> > 发送时间: 2020年4月30日(星期四) 晚上7:19 > 收件人: "user-zh"<[hidden email]>; > 主题: 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.希望有遇到这样问题并解决的大佬小伙伴能够帮个忙,说一下怎么解决。 > > 俞剑波 <[hidden email]> 于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 <[hidden email]> 于2020年4月30日周四 下午5:37写道: > > > >> 你看看是不是因为没有没配honor_labels: true > >> > >> > >> > >> ---原始邮件--- > >> 发件人: "俞剑波"<[hidden email]&gt; > >> 发送时间: 2020年4月30日(星期四) 下午4:32 > >> 收件人: "user-zh"<[hidden email]&gt;; > >> 主题: Re: Flink监控: promethues获取到有的metrics没有包含flink > 对应的job_name或者job_id > >> > >> > >> 是的,我使用了!请问大佬有解决办法吗,真的卡很多天了,希望能够解决一下,非常感谢 > >> > >> 972684638 <[hidden email]&gt; 于2020年4月30日周四 下午4:18写道: > >> > >> &gt; 我想知道,你是否使用了pushgateway? > >> &gt; > >> &gt; > >> &gt; > >> &gt; ---原始邮件--- > >> &gt; 发件人: "俞剑波"<[hidden email]&amp;gt; > >> &gt; 发送时间: 2020年4月30日(星期四) 下午4:01 > >> &gt; 收件人: "user-zh"<[hidden email]&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,导致不能将数据汇总起来,请问各位有遇到这个问题吗?是怎么解决的?非常感谢! > > > > |
Free forum by Nabble | Edit this page |