VisualVM監控遠端Linux主機上的JAVA應用程式(JMX方式)
我本地是Windows系統,Windows+r,輸入cmd,進入黑視窗輸入Jvisualvm,回車
同時彈出視覺化監控介面
VisualVM可以監控本地JVM執行情況,也可以監控遠端機器上的JVM執行情況。
本地監控無需配置,只要開啟某個JAVA程式就會自動的加入到本地監控中。
這些都是自動載入進來的。
監控本地的idea。
要進行遠端監控,就需要配置了。本機的VisualVM需要和遠端的JVM進行通訊,VisualVM目前支援兩種remote connection方式。分別是jstatd方式和JMX方式。
romote 遠端 connection 連線
接下來我使用的是JMX方式。
1.修改遠端主機的JDK配置檔案。
a.進入JAVA_HOME\jre\lib\management\目錄
b.拷貝jmxremote.password.template這個檔案到當前目錄, 並改名為jmxremote.password
c.開啟jmxremote.password檔案,去掉 # monitorRole QED 和 # controlRole R&D 這兩行前面的註釋符號
2.修改遠端主機TOMCAT的配置檔案。(我這裡監控TOMCAT容器內部署的應用)
a.進入TOMCAT_HOME\bin目錄
b.開啟catalina.sh檔案,加入如下資訊:
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.18.30,配置遠端主機的ip。
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=18999,指定暴露的JMX埠。
-Dcom.sun.management.jmxremote.ssl=false,指定是否使用SSL。
-Dcom.sun.management.jmxremote.authenticate=false",指定是否需要密碼才能夠建立JMX連線。
c.重啟Tomcat
在本地VisualVM上建立遠端連線
好了,這就監控上了。