当 运行 kafka in docker in boot2docker 时使用 JMX 进行 kafka 监控
kafka monitoring using JMX when running kafka in docker in boot2docker
我正在尝试让 JMX 监控工作以监控测试 kafka 实例。
我通过 boot2docker 在 docker 中安装了 kafka (ches/kafka) 运行,但我无法正确配置 JMX 监控。我做了很多故障排除,我知道 kafka 实例是 运行 正确(消费者和生产者工作)。当我尝试简单的 JMX 工具(jconsole 和 jvisualvm)并且两者都无法连接(不安全连接错误,连接失败)时出现问题。
配置注意事项:我连接的是192.168.59.103(运行'boot2docker ip'时发现的virtualbox ip),ches/kafkadocker/kafka实例使用端口7203作为JMX_PORT(在 kafka 启动日志中确认)。使用 jconsole,我连接到 192.168.59.103:7203,这就是错误发生的时间。
感谢任何帮助。
kafka docker 端口没有理由绑定到 boot2docker VM 中的同一端口,除非您指定它。
尝试 运行 它与 -p 7203:7203
强制 1:1 转发端口。
为完整起见,以下是有效的解决方案:
我运行ches/kafkadocker图片如下——注意JMX_PORT(7203)现在发布得当:
$ docker run --hostname localhost --name kafka --publish 9092:9092 --publish 7203:7203 --env EXPOSED_HOST=192.168.59.103 --env ZOOKEEPER_IP=192.168.59.103 ches/kafka
另外在kafka中设置如下环境-运行-class.sh (.bat for windows)
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
但我需要添加一项(感谢其中一位评论者指出这一点):
-Dcom.sun.management.jmxremote.rmi.port=7203
现在,对于 运行 boot2ches/docker 映像 docker 您只需要设置一个可识别的环境变量(KAFKA_JMX_OPTS 或 KAKFA_OPTS ) 添加附加项,现在可以使用了。
感谢您的帮助!
我正在尝试让 JMX 监控工作以监控测试 kafka 实例。
我通过 boot2docker 在 docker 中安装了 kafka (ches/kafka) 运行,但我无法正确配置 JMX 监控。我做了很多故障排除,我知道 kafka 实例是 运行 正确(消费者和生产者工作)。当我尝试简单的 JMX 工具(jconsole 和 jvisualvm)并且两者都无法连接(不安全连接错误,连接失败)时出现问题。
配置注意事项:我连接的是192.168.59.103(运行'boot2docker ip'时发现的virtualbox ip),ches/kafkadocker/kafka实例使用端口7203作为JMX_PORT(在 kafka 启动日志中确认)。使用 jconsole,我连接到 192.168.59.103:7203,这就是错误发生的时间。
感谢任何帮助。
kafka docker 端口没有理由绑定到 boot2docker VM 中的同一端口,除非您指定它。
尝试 运行 它与 -p 7203:7203
强制 1:1 转发端口。
为完整起见,以下是有效的解决方案:
我运行ches/kafkadocker图片如下——注意JMX_PORT(7203)现在发布得当:
$ docker run --hostname localhost --name kafka --publish 9092:9092 --publish 7203:7203 --env EXPOSED_HOST=192.168.59.103 --env ZOOKEEPER_IP=192.168.59.103 ches/kafka
另外在kafka中设置如下环境-运行-class.sh (.bat for windows)
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
但我需要添加一项(感谢其中一位评论者指出这一点):
-Dcom.sun.management.jmxremote.rmi.port=7203
现在,对于 运行 boot2ches/docker 映像 docker 您只需要设置一个可识别的环境变量(KAFKA_JMX_OPTS 或 KAKFA_OPTS ) 添加附加项,现在可以使用了。
感谢您的帮助!