我有很多jconsole.exe和JVisualVM.exe的经验,在JDK1.6中已经连接了数千次从Windows JVM到通过JMX.remote在另一台机器上运行Windows JVM,但当我尝试监视在Linux主机上运行的Java实例(来自Windows主机,并且我在Amazon EC2上尝试了Redhat和SUSE上的JMX侦听器)时失败。我也尝试使用jconsole.exe并得到类似的错误。JMX:无法从Windows连接到监视Linux系统上的JMX端口
有什么理由可以想到为什么这种JMX连接会有问题。任何想法,我可以尝试?有没有人“真的”做到这一点,并可以说,如果我坚持下去,它会工作?
我从JVisualVM获得(在远程连接尝试)错误是这样的:
"Cannot connect using service:jmx:rmi:///jndi/rmi://<jmx service ip>:8001/jmxrmi"
我的远程JMX服务的配置是这样的:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8001
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.hostname=<jmx service ip>
发现在类似的问题this link但它没有回答我的问题。
我确认“iptables”没有启用作为服务,并且没有启动,所以我没有任何形式的防火墙阻止。另外,windows和linux机器都在一个10.0.0.0私有内部子网上。我能够远程登录到8001端口来验证它的存在,并在linux机器上侦听(netstat -ap)。
指向java文档的链接已损坏 – harschware 2017-01-17 18:54:59
对不起...更新后的链接。我猜没有人再使用Java 1.4了.... :) – Nicholas 2017-01-17 20:05:48