系統環境:Ubuntu 13.04 64-bit
java版本:java version "1.7.0_25"
tomcat版本:tomcat7
首先在客戶端安裝jdk-7windows-x64.zip的安裝包,下載地址可以在官網下載,然後進入安裝目錄下的/bin 下面,可以看見
安裝好客戶端之後,開始配置服務端.
1.在服務器上配置jstatd的 security policy文件
jstatd是一個監控 JVM 從創建到銷燬過程中資源佔用情況並提供遠程監控接口的 RMI ( Remote Method Invocation ,遠程方法調用)服務器程序,它是一個 Daemon 程序,要保證遠程監控軟件連接到本地的話需要 jstatd 始終保持運行。
jstatd運行需要通過 -J-Djava.security.policy=*** 指定安全策略,因此我們需要在服務器上建立一個指定安全策略的文件 jstatd.all.policy,文件內容如下:
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
查看創建文件的內容:
# cat jstatd.java.policy
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
2.運行jstatd守護程序
由於jstatd需要保持一直運行,所以建議使用 screen命令執行 jstatd程序,命令如下:
jstatd -J-Djava.security.policy=/root/jstatd.all.policy -J-Djava.rmi.server.logCalls=true(開啓日誌功能)
3.Tomcat中配置
下面我們爲51 服務器的 tomcat 配置 jvm 啓動參數。 在tomcat的 catalina.sh中添加如下參數:
JAVA_OPTS=’-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.51 其他配置’
或者:
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.1.51 -Dcom.sun.management.jmxremote. port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
說明:
1.-Dcom.sun.management.jmxremote.port:這個是配置遠程connection的端口號的,要確定這個端口沒有被佔用
2.-Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否啓用 ssl
3.-Dcom.sun.management.jmxremote.authenticate=false指定了JMX 是否啓用鑑權(需要用戶名,密碼鑑權)
2,3兩個是固定配置,是 JMX的遠程服務權限的
4.-Djava.rmi.server.hostname:這個是配置server的IP的
然後直接遠程連接ip地址就可以完成了。
在客戶端雙擊VisualVM,然後右擊“遠程”選項,選擇“添加遠程主機” 然後輸入服務器端的ip地址
添加完成之後就可以進入遠程主機的監控頁面了.如圖: