天天看點

Java VisualVM對tomcat性能監控

  • Java環境參考:http://visitor.blog.51cto.com/11247238/1956799
  • Tomcat部署參考:http://visitor.blog.51cto.com/11247238/1956809
  • 從官網下載下傳Tomcat對應版本的catalina-jmx-remote.jar(這個使用Tomcat 7.0.81版本)

Tomcat下載下傳位址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81.tar.gz

JMX下載下傳位址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/extras/catalina-jmx-remote.jar

catalina-jmx-remote.jar包下載下傳完成後放到Tomcat的lib目錄下

[root@test01 lib]# pwd
/usr/local/tomcat/lib
[root@test01 lib]# wget      
  • 在bin/catalina.sh添加如下内容(Windows環境catalina.bat檔案)
[root@test01 lib]# cd /usr/local/tomcat/bin/
[root@test01 bin]# vim catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
  -Dcom.sun.management.jmxremote.port=7090
  -Dcom.sun.management.jmxremote.ssl=false    
  -Djava.rmi.server.hostname=192.168.100.1   
  -Dcom.sun.management.jmxremote.authenticate=true
  -Dcom.sun.management.jmxremote.password.file=/usr/local/softinstall/tomcat/conf/jmxremote.password 
  -Dcom.sun.management.jmxremote.access.file=/usr/local/softinstall/tomcat/conf/jmxremote.access"      
  • 編輯通路授權檔案
[root@test01 lib]# cd /usr/local/tomcat/conf/
[root@test01 conf]# vim jmxremote.access
[root@test01 conf]# cat jmxremote.access
monitorRole readonly
controlRole readwrite      
  • 編輯密碼檔案
[root@test01 conf]# vim jmxremote.password 
[root@test01 conf]# cat jmxremote.password
monitorRole tomcat
controlRole tomcat      

注意:密碼檔案應該是隻讀的,隻能由Tomcat運作使用者。

更改密碼檔案權限,否則彙報如下錯誤:

Error: Password file read access must be restricted: /usr/local/tomcat/conf/jmxremote.password

[root@test01 conf]# chmod 0400 jmxremote.password
[root@test01 conf]# ll jmxremote.password 
-r-------- 1 root root 36 Aug 25 15:47 jmxremote.password      
  • 啟動Tomcat
[root@test01 conf]# ../bin/startup.sh 
Using CATALINA_BASE:   /usr/local/softinstall/tomcat
Using CATALINA_HOME:   /usr/local/softinstall/tomcat
Using CATALINA_TMPDIR: /usr/local/softinstall/tomcat/temp
Using JRE_HOME:        /usr/local/softinstall/jdk1.7.0_79
Using CLASSPATH:       /usr/local/softinstall/tomcat/bin/bootstrap.jar:/usr/local/softinstall/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@test01 conf]# netstat -nlput | grep java
tcp        0      0 :::7090                     :::*                        LISTEN      7329/java                     
tcp        0      0 ::ffff:127.0.0.1:7005       :::*                        LISTEN      7329/java                    
tcp        0      0 :::7080                     :::*                        LISTEN      7329/java

[root@test01 conf]# curl -I localhost:7080
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Fri, 25 Aug 2017 08:58:54 GMT      

Tomcat啟動成功、JMX7090端口啟動成功

  • 在一台windows伺服器上部署Java環境

在Jdk的安裝目錄bin目錄下找到jvisualvm.exe (另一個工具為jconsole.exe也在bin目錄下,這裡使用jvisualvm工具)

C:\Program Files\Java\jdk1.8.0_131\bin

Java VisualVM對tomcat性能監控

輕按兩下運作jvisualvm.exe

Java VisualVM對tomcat性能監控
Java VisualVM對tomcat性能監控

點選——遠端——添加遠端主機——在彈出的視窗中填寫要遠端主機的名——點選确定

Java VisualVM對tomcat性能監控
Java VisualVM對tomcat性能監控

應用程式——遠端——選擇之間添加的主機——右擊——添加jmx連接配接——在彈出的視窗中填寫連接配接資訊——确定

Java VisualVM對tomcat性能監控
Java VisualVM對tomcat性能監控

連接配接成功

繼續閱讀