0

在我的情况下,Flink 将指标发送到 Datadog。Datadog 主机图如下所示{我不知道为什么在这里显示延迟}

在此处输入图像描述

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 中的指标格式,因为它向我显示了类似这样的指标

在此处输入图像描述

现在如上图所示

  1. 延迟以时间表示
  2. 每秒事件数是事件/秒
  3. 计数是一些值

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

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

如何将 Datadog 中的指标与 Flink 中的执行计划算子联系起来?

在此处输入图像描述

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

在这种情况下,我的最终目标是在每个操作员处找到操作员延迟、输出和输入/秒的记录数

4

1 回答 1

1

这里有各种各样的问题。

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

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

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

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

通过将其设置为常数(“延迟”),您已经告诉 Flink 不包含任何内容。因此,每个运营商的 numRecordsIn 指标报告为“latency.numRecordsIn”。

我建议只删除您的范围配置。

2. 您错误配置了 Datadog 标签

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

tags 配置选项只能用于提供全局标签,即附加到每个单独指标的标签,例如“Flink”。

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

因此,如果您有一个操作员名称 A,那么 numRecordsIn 指标将使用标签“operator_name:A”报告。

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

于 2017-10-30T11:47:57.050 回答