我有很多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