1. 程式人生 > >VisualVM(5) 監控遠端主機上的JAVA應用程式

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是一個基於RMIRemove Method Invocation)的服務程式,它用於監控基於

HotSpotJVM中資源的建立及銷燬,並且提供了一個遠端介面允許遠端的監控工具連線到本地的JVM執行命令。

-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地址或者埠來解決。

其他文章: