服務器地址:10.64.111.68java
首先配置JMX:linux
1.找到jdk目錄apache
[root@C68 demo]# echo $JAVA_HOMEbootstrap
/root/demo/jdk1.8.0_60windows
2. cd 到/root/demo下的tomcat的bin目錄下tomcat
[root@C68 bin]# vi catalina.sh服務器
添加以下參數:工具
JAVA_OPTS='-Dcom.sun.management.jmxremote.port=9988 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.64.111.67'spa
如圖:.net
其中,
-Dcom.sun.management.jmxremote.port=9988
上面指定了 JMX 啓動的代理端口;這個端口就是 windows中的JVM工具要鏈接的端口
-Dcom.sun.management.jmxremote.ssl ="false"
上面指定了 JMX 是否啓用ssl
-Dcom.sun.management.jmxremote.authenticate =false
上面指定了 JMX 是否啓用鑑權(須要用戶名,密碼鑑權),啓用的話,windows負載機JVM工具中就要進行設置,我這裏不用鑑權
-Djava.rmi.server.hostname=10.64.111.67'
上面指定了主機名,ip是linux服務器的
3.重啓tomcat
在tomcat的bin目錄下,
[root@C68 bin]# ./shutdown.sh
Using CATALINA_BASE: /root/demo/apache-tomcat-8.0.33
Using CATALINA_HOME: /root/demo/apache-tomcat-8.0.33
Using CATALINA_TMPDIR: /root/demo/apache-tomcat-8.0.33/temp
Using JRE_HOME: /root/demo/jdk1.8.0_60
Using CLASSPATH: /root/demo/apache-tomcat-8.0.33/bin/bootstrap.jar:/root/demo/apache-tomcat-8.0.33/bin/tomcat-juli.jar
Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: C68: C68: unknown error
[root@C68 etc]# hostname -i
hostname: Host name lookup failure
遇到了這個找不到主機名的問題,
解決辦法:
首先看一下主機名是什麼
cat /etc/sysconfig/network
該文件中內容以下,若是沒有的話,就本身vi寫出來,而後重啓機器。
我這裏直接本身已經有了,可是我對這個hostname是有疑問的,由於並無見過這個主機名,個人是C68,不知道這個主機名從哪裏出來的,可是我也沒管。
NETWORKING=yes
HOSTNAME=SSCVL0263
而後在hosts文件中,將主機名和ip在hosts文件中映射出來,以下,我仍是寫的C68,按理說應該寫上邊的那個SSCVL0263,奇怪的是我寫C68也解決了問題,就這樣吧:
再次重啓tomcat
在tomcat的bin目錄下,
.shutdown.sh
.startup.sh
1.在Java-jdk-bin中雙擊JVisualVM,選中左邊的Remote節點,右鍵點擊Add Remote Host彈出對話框, 填寫遠程的Tomcat的主機IP,點擊OK
2.選中遠程Tomcat主機IP這個節點,右鍵彈出菜單選擇「Add JMX Connetcion..」,在彈出的對話框的填寫要鏈接的Tomcat所在的主機端口,端口是在catalina.sh設置的端口9988,點擊OK。
遇到的問題是:Cannot connect to ,using service:jmx:rmi:///jndi/rmi:// /jmxrmi
解決方案,就是由於上面的找不到主機名的問題,上面已經成功的解決。
3.在左側樹節點添加了JMX節點,雙擊這個節點或者右鍵彈出菜單,點擊「Open」,能夠遠程監控Tomcat的使用狀況了。