Apache flink Flink MetricReporter可以获得哪些指标?

Apache flink Flink MetricReporter可以获得哪些指标?,apache-flink,Apache Flink,我有几个ApacheFlink(批处理,而不是流式)工作流,我的目标是从Flink到Cloudwatch中获得一些自定义指标。我很确定这个过程会是这样的: 在我的Flink代码中,创建一些度量对象,例如getRuntimeContext().getMetricGroup().getCounter(“numInputElements”) 实现一个自定义的MetricReporter并注册它,以便Flink将我的计数器从步骤1发送到报告器 聚合MetricReporter中的度量值:所有称为“num

我有几个ApacheFlink(批处理,而不是流式)工作流,我的目标是从Flink到Cloudwatch中获得一些自定义指标。我很确定这个过程会是这样的:

  • 在我的Flink代码中,创建一些度量对象,例如
    getRuntimeContext().getMetricGroup().getCounter(“numInputElements”)

  • 实现一个自定义的
    MetricReporter
    并注册它,以便Flink将我的
    计数器从步骤1发送到报告器

  • 聚合
    MetricReporter
    中的度量值:所有称为“numInputElements”的度量值都应该求和,以便最后,
    MetricReporter
    只需在Cloudwatch中放入一个“numInputElements”度量值

  • MetricReporter
    ,当它
    report()
    s时,将“numInputElements”放入Cloudwatch中

  • 我的问题与第3步有关:

  • 我将有多少个
    MetricReporter
    实例?如果每个Flink工作流超过1个,那么我需要在Cloudwatch以及我的
    MetricReporter
    逻辑中聚合度量。如果运行我的工作流的是每个片段一个,那么我只需要在Cloudwatch中聚合,因为我将有
    n
    个片段,每个片段创建一个“numInputElements”度量,并且
    n
    MetricsReporter
    s每个片段获得一个“numInputElements”发送到Cloudwatch

  • 如果我有多个
    MetricReporter
    实例,那么是什么决定了哪些度量被发送到每个
    MetricReporter


  • 作业和任务管理器都有自己的metrics reporter实例。用户函数的每个并行部分都有自己的度量,每个子任务都有各自的名称。通常,度量聚合是在Flink外部完成的,查询聚合到度量名称上(可以通过其范围格式进行控制)

    指标报告员相当简单——请看一些来源