Apache flink 如何将Datadog中的度量与Flink中的执行计划操作符关联起来?

Apache flink 如何将Datadog中的度量与Flink中的执行计划操作符关联起来?,apache-flink,flink-cep,datadog,Apache Flink,Flink Cep,Datadog,在我的案例场景中,Flink正在向Datadog发送度量。Datadog主机映射如下所示{我不知道为什么在这里显示延迟} Flink指标被发送到本地主机。这里的问题是当 flink-conf.yaml文件配置如下 # adding metrics metrics.reporters: stsd , dghttp metrics.reporter.stsd.class: org.apache.flink.metrics.statsd.StatsDReporter metrics.repo

在我的案例场景中,Flink正在向Datadog发送度量。Datadog主机映射如下所示{我不知道为什么在这里显示延迟}

Flink指标被发送到本地主机。这里的问题是当

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中的执行计划操作符联系起来

我已经读到我可以使用标签,我尝试在flink-conf.yaml文件中使用它们,但我不完全知道它们在这里有什么意义


我的最终目标是找出每个运营商的运营商延迟、记录数和每秒记录数。在这种情况下,这里有各种各样的问题

一,。您错误配置了作用域格式。metrics.scope.operator

首先,配置没有意义,因为您多次指定metrics.scope.operator;只接受最后一个配置条目

第二,也是更重要的一点,您误解了作用域格式的用途

作用域格式配置报告的度量名称中包含哪些上下文信息,如任务ID

通过将其设置为常数延迟,您已经告诉Flink不要包含任何内容。因此,每个操作员的numRecordsIn度量报告为latency.numRecordsIn

我建议删除您的作用域配置

二,。您错误配置了Datadog标记

我不明白你试图用你的标签配置做什么

标记配置选项只能用于提供全局标记,即附加到每个指标的标记,如Flink

默认情况下,Datadog报告的每个度量都为每个可用的范围变量附加了标记

因此,如果您有一个运算符名A,那么numRecordsIn度量将使用标记运算符_name:A报告


同样,我建议您删除配置。

之所以要为localhost和latency以及statsd设置一个pillbox,是因为您要发送的度量以localhost开头。或延迟。或者statsd。。Datadog观察这些名称空间,早期的字符串由。作为度量的总体类型,并自动为您提供一个碉堡视图。使用谨慎的度量命名约定,这可能非常有用。