VisualVM遠程連接失敗踩坑和JMX最全配置

史上最全JMX遠程連接失敗問題踩坑和總結,涉及多種環(huán)境:本地、局域網測試環(huán)境、線上生產環(huán)境。

這里不介紹VisualVM的基本教程,那些隨便搜一下都有,主要介紹一下博主在不同環(huán)境使用,自己遇到的坑。

想要查看和監(jiān)控JVM運行情況,VisualVM是一種不錯的選擇。

VisualVM遠程連接JVM,最方便的方法是通過?jmx,即在jvm啟動參數(shù)增加jmx配置。


網上大體都是如下:

-Dcom.sun.management.jmxremote=true

-Dcom.sun.management.jmxremote.port=8099

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

以上配置,本地環(huán)境可以,如果是遠程的話,這樣是不行的。


遠程連接需要增加 rmi 配置:

-Djava.rmi.server.hostname=192.168.180.1

注意:另外需要檢查 hostname –i,看解析出來是否包含本地的IP,如是只有127.0.0.1或者其他的IP,會連接不上。

配置正確的顯示如下:

[user ~]$ hostname -i

127.0.0.1 192.168.180.1

[user ~]$

以上配置加了后,測試環(huán)境可以連接了,但是線上環(huán)境還是不行。


?繼續(xù)找原因,發(fā)現(xiàn)是防火墻的原因屏蔽了相關接口。

? ? ? ? 在Java啟動時,JMX會綁定一個接口,RMI也會綁定一個接口,在復雜網絡環(huán)境下,有可能你通過打開防火墻允許了JMX端口的通過,但是由于沒有放行RMI,遠程連接也是會失敗的。

這是因為JMX在遠程連接時,會隨機開啟一個RMI端口作為連接的數(shù)據(jù)端口,這個端口會被防火墻給阻止,以至于連接超時失敗。在Java7u25版本后,可以使用?-Dcom.sun.management.jmxremote.rmi.port參數(shù)來指定這個端口;好消息是,你可以將這個端口和jmx.port的端口設置成一個端口,這樣防火墻就只需要放行一個端口就可以了。

增加 rmi 端口配置:

-Dcom.sun.management.jmxremote.rmi.port=8099

加了后,可以遠程連接線上生產環(huán)境了。

生產環(huán)境還需要注意,找運維配合開放指定 ip 和 端口的權限, netstat 查詢自己配置的端口(如8099)是否已被監(jiān)聽,

可以通過 telnet ip port 來檢查 端口是否請求通,如:

telnet 192.168.180.1 8099

總結:

JMX 最全配置:

-Dcom.sun.management.jmxremote \

-Dcom.sun.management.jmxremote.port=8099 \

-Dcom.sun.management.jmxremote.local.only=true \

-Dcom.sun.management.jmxremote.authenticate=false \

-Dcom.sun.management.jmxremote.ssl=false \

-Dcom.sun.management.jmxremote.rmi.port=8099 \

-Djava.rmi.server.hostname=192.168.180.1

References

https://stackoverflow.com/questions/20884353/why-java-opens-3-ports-when-jmx-is-configured/21552812#21552812

https://stackoverflow.com/questions/7163173/jmx-enabled-java-application-appears-to-open-a-random-high-order-port-when-jmx-c


————————————————

版權聲明:本文為CSDN博主「CleverApe」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_27641935/article/details/102919542

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容