无法从Visual VM

时间:2018-11-28 17:03:07

标签: cloudfoundry visualvm

我在一个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容器吗?

最好的问候, 索拉夫

2 个答案:

答案 0 :(得分:1)

需要使用此命令在容器中启用JMX,并启用来自visualvm的JMX连接

cf set-env myapp JBP_CONFIG_JMX '{ enabled: true }'

答案 1 :(得分:-1)

看起来SSH隧道对您不起作用。

您可能要尝试的第一件事是使用cf ssh <application_name>

将ssh放入应用程序容器

在容器中后,运行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>