VisualVM(5) 監控遠端主機上的JAVA應用程式
Java虛擬機器效能管理神器 - VisualVM(5) 監控遠端主機上的JAVA應用程式
使用VisualVM監控遠端主機上JAVA應用程式時,需要開啟遠端主機上的遠端監控訪問,或者在遠端JAVA應用程式啟動時,開啟遠端監控選項,兩種方法,選擇其中一種就可以開啟遠端監控功能,配置完成後就可以在本地對遠端主機上的JAVA應用程式進行監控。
1.遠端伺服器、應用程式配置
1.1配合jstatd工具提供監控資料
1.1.1建立安全訪問檔案
在JAVA_HOME/bin目錄中,建立名稱為jstatdAllPolicy檔案(這個檔名稱也可以順便起,不過要與jstatd啟動時指定名稱相同),將以下內容拷貝到檔案中。並保證檔案的許可權和使用者都正確。
grant codebase"file:${java.home}/../lib/tools.jar"{ permission java.security.AllPermission; };
1.1.2啟動jstatd服務
在JAVA_HOME/bin目錄中,執行以下命令:
./jstatd
-J-Djava.security.policy=jstatdAllPolicy-p 1099 -J-Djava.rmi.server.hostname=192.168.xxx.xxx
jstatd命令描述以及引數說明:
jstatd是一個基於RMI(Remove Method Invocation)的服務程式,它用於監控基於
-J-Djava.security.policy=jstatdAllPolicy 指定安全策略檔名稱
-p 1099 指定啟動埠
-J-Djava.rmi.server.hostname=192.168.xxx.xxx 指定本機IP地址,在hosts檔案配置不正常時使用,最好加上。
1.2JVM啟動時配置遠端監控選項
在需要遠端監控的JVM啟動時,開啟遠端監控選項
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.xxx.xxx
2.本地VisualVM配置
在本地VisualVM的應用程式視窗,右鍵單擊【遠端】》【新增遠端主機】》【主機名】中輸入遠端主機的IP地址,點選【高階設定】輸入遠端主機開啟的監控埠,點選【確定】完成配置。
如果一切正常,就可以看到遠端主機上的JAVA應用程式了。
3.常見問題
3.1jstatd啟動異常
啟動jstatd時報錯,主要原因應該是沒有配置安全管理檔案或者安全管理檔案內容錯誤,另外就是因為啟動的時候沒有指定本機IP地址或者埠。
3.2正常啟動jstatd後,本地VisualVM配置遠端主機無法顯示監控資訊
3.2.1防火牆
一般情況下是使用以下命令關閉防火牆
[[email protected] bin]# service iptables stop
清除防火牆規則: [確定]
把 chains 設定為 ACCEPT 策略:filter [確定]
正在解除安裝 Iiptables 模組: [確定]
[[email protected] bin]# service iptables status
防火牆已停
[[email protected] bin]#
3.2.2JDK版本不一致
如果使用本機JAVA安裝包的的JVisualVM來監控遠端應用程式,JDK遠端主機的版本和本地JDK版本差別較大就會出現類似問題。需要統一版本,或者下載VisualVM來監控。
3.2.3IP地址或者埠配置錯誤
通過確定遠端主機的IP地址或者埠來解決。
其他文章: