为Kafka开启Jolokia代理
在本文中,我将描述如何为 Kafka 开启Jolokia代理,从而使Kafka Assistant获取重要的度量指标。 Kafka 使用 JMX 接口提供的专用 MBean 发布运行时指标。 这正是我们将在这里使用的通道。
Kafka with Jolokia
Jolokia 是一个 JMX-HTTP 桥接器,可替代 JSR-160 连接器。 它是一种基于代理的方法,支持许多平台。 除了基本的 JMX 操作之外,它还通过批量请求和细粒度安全策略等独特功能增强了 JMX 远程处理。
在本文中,不会介绍 Kafka 的安装。 有大量可用的最新文档,让我们专注于Jolokia。 我们将以代理模式运行 Jolokia。 也就是说,我们将Jolokia代理库放在Kafka的类路径中,在Kafka的配置文件中配置Jolokia并运行它。 这样,Jolokia 将连接到监控 MBean 的 Kafka,并在 HTTP 接口上提供指标。
- 下载 Jolokia JVM 代理(例如:jolokia-jvm-1.7.1.jar):https://jolokia.org/download.html
-
将其保存到 Kafka 的 lib 文件夹
/home/chen/
(这里放在我的家目录里)现在,我们已经有了代理库,需要对其进行配置
-
打开
/home/chen/kafka_2.12-0.11.0.0/bin/kafka-server-start.sh
然后添加:(其中export KAFKA_JMX_OPTS=" -javaagent:/home/chen/jolokia-jvm-1.7.1.jar=port=8778,host=192.168.31.253 \ -Dcom.sun.management.jmxremote=true \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -Djava.rmi.server.hostname=192.168.31.253 \ -Dcom.sun.management.jmxremote.host=192.168.31.253 \ -Dcom.sun.management.jmxremote.port=9999 \ -Dcom.sun.management.jmxremote.rmi.port=9999 \ -Djava.net.preferIPv4Stack=true"
192.168.31.253
是我的Kafka服务器地址,换成你的) -
最后,启动Kafka,此时,您应该可以看到端口 8778 上的侦听过程。可以使用一下连接来验证是否正确配置:
http://192.168.31.253:8778/jolokia/version