如何部署和配置Kafka JMX Agent

本文介绍如何部署和配置Kafka JMX Agent。

使用限制

目前支持在容器服务类型的Prometheus实例ECS类型的Prometheus实例中接入Kafka JMX Agent。

步骤一:部署Kafka JMX Agent

  1. 下载kafka JMX-AgentKafka所在的PodECS内。

  2. Kafka Producer、Broker、ConsumerJVM启动参数中,增加参数-javaagent:/{jmx-agent保存目录}/kafka-jmx_prometheus_javaagent-1.18.1.jar={jmx监听端口},具体参数示例如下图。

    • 保存目录:需要替换为您实际的保存目录。

    • jmx监听端口:需要替换为您实际的JMX监听端口。

    vr

  3. 重新启动Kafka Producer、Broker、Consumer。

  4. 确认Kafka Producer、Broker、ConsumerKafka JMX Agent是否正常工作。即在各PodECS上,执行命令curl localhost:{jmx监听端口}/metrics,观察是否有正常的Metric返回。如果有正常的Metric返回,说明Kafka Producer、Broker、ConsumerKafka JMX Agent已正常工作。

    jmx监听端口:需要替换为您实际的JMX监听端口。

    cr

(可选)步骤二:配置containerPort

若您是容器服务类型的Prometheus实例,您还需要配置containerPort,以便可观测监控 Prometheus 版能顺利抓取到Kafka JMX Agent的数据。若您是ECS类型的Prometheus实例,请跳过此步骤。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 无状态

  3. 单击目标工作负载操作列的编辑,在编辑页面,配置端口名称容器端口和端口协议,然后单击更新65

    • 名称:Kafka JMX Agent端口名,例如app1-kafka-jmx。

    • 容器端口:在步骤一:部署Kafka JMX Agent中定义的JMX监听端口。

    • 协议:选择TCP协议。

步骤三:配置Kafka PodECS的标签

可观测监控 Prometheus 版可以通过识别PodECS的标签实现服务发现(Service Discovery),因此您需要定义一个标签,以便可观测监控 Prometheus 版能够识别到。如果您的业务中已经存在类似的标签,则可以跳过此步骤。

容器服务类型的Prometheus实例配置标签

Kafka Producer、Broker、ConsumerPod上配置标签{自定义标签}:{自定义标签值},例如:arms-kafka-exporter:my-kafka1,具体操作如下:

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 容器组

  3. 单击目标工作负载名称。在容器组页签,单击目标容器组操作列的编辑,然后新增标签,编辑结束后单击更新63

ECS类型的Prometheus实例配置标签

Kafka Producer、Broker、ConsumerECS上配置标签{自定义标签}:{自定义标签值},例如:arms-kafka-exporter:my-kafka1,ECS创建标签的具体操作,请参见创建或绑定标签vr

后续操作

Kafka JMX-Agent配置完成后,您可以在可观测监控 Prometheus 版控制台完成接入配置并查看其监控数据。具体操作,请参见如何使用Prometheus监控Kafka