首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用VisualVM连接到远程JMX,但可以使用JConsole连接

无法使用VisualVM连接到远程JMX,但可以使用JConsole连接
EN

Stack Overflow用户
提问于 2015-06-17 17:16:56
回答 1查看 3.1K关注 0票数 3

我试图使用VisualVM 1.3.8和JRE1.8.0连接到远程JMX服务。使用JConsole实现完全相同的连接是非常有效的,但是在VVM中使用相同参数的尝试只是停留在“添加服务”阶段。我查看了VVM日志,但实际上没有任何记录。

我还在VVM远程JMX上阅读了这里

注意:要检索和显示运行在远程主机上的应用程序的信息,jstatd实用程序需要在远程主机上运行。

这让我感到困惑,因为我可以使用JConsole建立远程JMX连接,而且据我所知,jstatd没有在远程上运行。

有没有人知道jstatd是否只需要作为远程JMX客户端的VVM?由于JMX连接可以在同一个客户端和服务器端点之间使用JConsole进行,所以网络/防火墙等方面没有问题。

除此之外,我真的很困惑到哪里去寻找线索呢?

EN

回答 1

Stack Overflow用户

发布于 2015-08-03 19:52:10

当我使用SOCKS通过VisualVM -> Tools -> Plugins -> Settings -> Proxy Settings更新代理设置时,当我从Java 7切换到8时,我也遇到了同样的麻烦。然而,我在以下方面取得了成功:

  1. 使用以下选项运行JVM:

-Dcom.sun.management.jmxremote.port=<JMX_PORT> -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

请注意,您显然可以执行更安全的操作,包括w.r.tSSL和身份验证。

  1. 从本地主机到远程服务器设置一个SOCKS代理:

ssh -D<SOCKS_PORT> -vvv -N <REMOTE_HOST>

  1. 在本地主机上运行以下任一命令:

jconsole -J-DsocksProxyHost=localhost -J-DsocksProxyPort=<SOCKS_PORT> service:jmx:rmi:///jndi/rmi://<REMOTE_HOST:JMX_PORT>/jmxrmi jvisualvm -J-DsocksProxyHost=localhost -J-DsocksProxyPort=<SOCKS_PORT> --openjmx <REMOTE_HOST>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30898196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档