我在一个CF云提供商中部署了一个应用程序。
我的应用程序位于https://github.com/cloudfoundry/java-buildpack.git#v4.6
我正在关注这篇文章,将视觉虚拟机连接到Java应用程序 https://fabianlee.org/2017/12/09/cloudfoundry-enabling-java-jmx-rmi-access-for-remote-containers/
我启用了JMX连接。
但是当我在可视虚拟机中将JMX连接添加为localhost:5000
我得到“无法使用service:jmx:rmi:/// jndi / rmi:// localhost:5000 / jmxrmi连接到localhost:5000”
我还尝试通过JDWP选项在我的应用程序中启用远程调试,并在可视vm中作为远程主机连接,但这也会导致“无法连接”错误。
我在这里错过了什么吗?
有人将内存分析器连接到cf容器吗?
最好的问候, 索拉夫
答案 0 :(得分:1)
需要使用此命令在容器中启用JMX,并启用来自visualvm的JMX连接
cf set-env myapp JBP_CONFIG_JMX '{ enabled: true }'
答案 1 :(得分:-1)
看起来SSH隧道对您不起作用。
您可能要尝试的第一件事是使用cf ssh <application_name>
在容器中后,运行netstat -lntu
来发现调试端口8000
是否打开。如果打开,则退出ssh控制台,使用cf ssh -N -T -L <LOCAL_PORT>:localhost:<REMOTE_PORT> <APPLICATION_NAME>
隧道连接到应用程序,然后尝试连接回localhost:8000
如果调试端口未打开,则设置JBP_CONFIG_DEBUG '{enabled: true}'
变量并重新启动应用程序。
默认调试端口是8000,而不是5000,因此,如果要连接到端口5000,则ssh命令应为cf ssh -N -T -L 5000:localhost:8000<APPLICATION_NAME>