更新时间:2025-12-10 GMT+08:00
分享

支持Metrics上报Kafka

使用场景

Flink提供了监控指标(Metrics)来帮助分析作业,该特性支持将配置的Metrics上报到Kafka中。

前提条件

  • Flink集群与Metrics上报的Kafka网络连通。
  • Metrics上报的Kafka Topic需要提前创建好。

使用限制

仅支持上报到非kerberos认证的Kafka Topic。

本章节适用于MRS 3.6.0-LTS及之后的版本。

配置步骤

  1. 登录Manager页面,选择“集群 > 服务 > Flink > 配置 > 全部配置”。
  2. 配置Flink支持Metrics上报Kafka参数。

    通过FlinkServer提交作业,Metrics上报Kafka。

    选择“FlinkServer(角色) > 自定义”,在“flink.customized.configs”参数中添加表1中的参数,添加完成后单击“保存”,并重启受影响的FlinkServer实例。

    通过客户端提交作业,Metrics上报Kafka。
    1. 选择“FlinkResource(角色) > 自定义”,在“flink.customized.configs”参数中添加表1中的参数,添加完成后单击“保存”,并重启受影响的FlinkResource实例。
    2. 重新安装客户端或更新客户端配置,具体请参考安装客户端更新客户端
    表1 Flink支持Metrics上报Kafka参数配置

    名称

    是否必填

    描述

    metrics.reporter

    alarm,kafka

    新增的reporter需要追加对应名称。alarm用于Flinkserver的告警,防止自定义参数覆盖Flink原有的参数,需同时填写alarm和kafka。

    metrics.reporter.kafka.factory.class

    com.huawei.flink.metrics.kafka.KafkaReporterFactory

    Flink Metric指标上报给kafka的实现类,值固定为:

    com.huawei.flink.metrics.kafka.KafkaReporterFactory。

    metrics.reporter.kafka.interval

    30s

    Flink Metric指标上报kafka的周期,单位:秒。

    metrics.reporter.kafka.bootstrapServers

    Kafka集群IP1:端口号,Kafka集群IP2:端口号

    Flink Metric指标上报kafka的broker IP、端口。仅支持非kerberos认证的端口。

    metrics.reporter.kafka.metricNames

    -

    允许上报的监控项。如:numRecordsIn,numRecordsOut。

    metrics.reporter.kafka.topicName

    -

    上报给Kafka的Topic,需要提前创建好。如:flink-metrics。

    metrics.reporter.kafka.chunkSize

    -

    每次上报给Kafka的监控条数,默认20条。

  3. 提交Flink作业,对应的Metrics就会被上报到配置的Kafka Topic中。

    如果配置的Kafka服务出现异常,无法连接时,Flink作业业务不会中断,但是metric功能将会受到影响,监控指标无法发送给Kafka。

相关文档