项目中需要远程监控kafka容器中的消息输入情况,使用了kafka的JMX来实现,由于kafka作为docker容器运行,连接jmx遇到了重重困难,经过以下配置后终于成功。
①修改docker-compose.yml文件:
添加图片中的参数,把9999端口暴露出来并映射,配置JMX_PORT环境变量,修改完需要docker-compose up重新创建kakfa容器使配置生效。
②进入容器,编辑$KAFKA_HOME/bin/kafka-run-class.sh脚本:
在脚本第一行添加JMX_PORT参数:
②在脚本里找到这段代码,添加如下的参数到KAFKA_JMX_OPTS