在我的场景中,flink将度量发送给datadog。datadog主机Map如下所示{我不知道为什么在这里显示延迟}
flink指标被发送到localhost。问题是什么时候 flink-conf.yaml
文件配置如下
# adding metrics
metrics.reporters: stsd , dghttp
metrics.reporter.stsd.class: org.apache.flink.metrics.statsd.StatsDReporter
metrics.reporter.stsd.host: localhost
metrics.reporter.stsd.port: 8125
# for datadog
metrics.reporter.dghttp.class: org.apache.flink.metrics.datadog.DatadogHttpReporter
metrics.reporter.dghttp.apikey: xxx
metrics.reporter.dghttp.tags: host:localhost, job_id : jobA , tm_id : task1 , operator_name : operator1
metrics.scope.operator: numRecordsIn
metrics.scope.operator : numRecordsInPerSecond
metrics.scope.operator : numRecordsOut
metrics.scope.operator : numRecordsOutPerSecond
metrics.scope.operator : latency
问题是datadog显示了163个我不明白的指标,我稍后会解释
我不理解datadog中的度量格式,因为它向我显示了类似这样的度量
如上图所示
延迟用时间表示
每秒事件数为事件/秒
计数是有价值的
所以我的问题是,这是哪个指标?
还有,我工作的执行计划是这样的
如何将datadog中的度量与flink中的执行计划操作符联系起来?
我在flinkapi1.3.2中读到了我可以使用标记,我尝试在flink-conf.yaml文件中使用它们,但我不完全知道它们在这里有什么意义。
在这种情况下,我的最终目标是找出每个操作符的操作符延迟、传出的记录数和in/s
1条答案
按热度按时间iqjalb3h1#
这里有各种各样的问题。
1.你对作用域格式配置错误(metrics.scope.operator)
首先,由于多次指定“metrics.scope.operator”,因此配置没有意义;只接受最后一个配置条目。
第二,更重要的是,您误解了范围格式的用途。
作用域格式配置报告的度量名称中包含哪些上下文信息(如任务的id)。
通过将其设置为一个常量(“延迟”),您已经告诉flink不要包含任何内容。因此,每个操作符的numrecordsin度量报告为“latency.numrecordsin”。
我建议删除你的作用域配置。
2.你把数据狗标签配置错了
我不明白你想用你的标签配置做什么。
tags配置选项只能用于提供全局标记,即附加到每个度量的标记,如“flink”。
默认情况下,datadog报告的每个度量都为每个可用的范围变量附加了标记。
因此,如果您有一个操作符名称a,那么numrecordsin度量将报告一个标记“operator”_name:a".
同样,我建议您删除您的配置。