如何将 Datadog 中的指标与 Flink 中的执行计划运算符关联起来?

How to I relate the metrics in Datadog with execution plan operators in Flink?

在我的案例中,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 中的指标格式,因为它显示的指标是这样的

现在如上图

  1. Latency is expressed in time
  2. Number of events per second is event /sec
  3. count is some value

所以我的问题是这是哪个指标?

另外,我的job的执行计划是这样的

如何将 Datadog 中的指标与 Flink 中的执行计划运算符关联起来?

我在 Flink API 1.3.2 中读到我可以使用标签,我尝试在 flink-conf.yaml 文件中使用它们,但我不完全了解它们在这里的意义。

在这种情况下,我的最终目标是找出每个运算符的运算符延迟、输出和输入/秒的记录数

这里有各种各样的问题。

1.您错误地配置了范围格式。 (metrics.scope.operator)

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

其次,更重要的是,您误解了范围格式的用途。

范围格式配置哪些上下文信息(如任务 ID)包含在报告的指标名称中。

通过将其设置为常量 ("latency"),您已告诉 Flink 不包含任何内容。因此,每个操作员的 numRecordsIn 指标报告为 "latency.numRecordsIn".

我建议只删除您的示波器配置。

2。您错误配置了 Datadog 标签

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

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

根据默认,Datadog 报告的每个指标都为每个可用范围变量附加了标签。

因此,如果您的操作员名称为 A,则 numRecordsIn 指标将使用标记 "operator_name:A" 进行报告。

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