Hi 嘉诚

不清楚你使用的Flink具体版本,不过这个显示host-name第一部分的逻辑是一直存在的,因为大部分场景下host-name只需要取第一部分即可表征。具体实现代码可以参阅
 [1] 和 [2] 。

受到你的启发,我创建了一个JIRA [3] 来追踪这个问题,解法是提供一个metrics 
options,使得你们场景下可以展示metrics的完整hostname

祝好
唐云


[1] 
https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/taskexecutor/TaskManagerRunner.java#L365
[2] 
https://github.com/apache/flink/blob/505b54c182867ccac5d1724d72f4085425ac08a8/flink-core/src/main/java/org/apache/flink/util/NetUtils.java#L59
[3] https://issues.apache.org/jira/browse/FLINK-12520
________________________________
From: 戴嘉诚 <a773807...@gmail.com>
Sent: Wednesday, May 15, 2019 20:24
To: user-zh@flink.apache.org
Subject: flink metrics的 Reporter 问题

大家好:
        我按照官网的文档,调试了flink metrics 的 reporter 
,加载了Slf4jReporter,这个Reporter运行是正常了,但是发现了个问题,
在taskManager中打印里面的信息的时候,打印出来的是:
ambari.taskmanager.container_e31_1557826320302_0005_01_000002.Status.JVM.ClassLoader.ClassesLoaded:
 12044
这里的格式范围,我看了源码应该是<host>.taskmanager.<tm_id>.<metricsName>:<value>

但是这里就存在了个问题了,这里的host,显示的是ambari,我服务器上配置的计算机名称应该是全量的ambari.host12.yy,这里的host把后面的给全部省略掉了。这样,我就无法判断这条记录是来自哪个机器了。

同时,我在jobManager中看到jobmanager打印出来的日志中,是一个全量的机器名称,如下:
ambari.host02.yy.jobmanager.Status.JVM.Memory.NonHeap.Max: -1

请问如果我要在taskmanager的reporter中获取到全量的机器名称,我这里需要如何处理?这里是一个bug吗?还是我的使用有误

回复