使用jconsole工具來監控java運行情況


 
經驗證OK
 
jconsole是jdk自帶的工具。所以要先安裝jdk
 

1.jconsole工具的路徑:

通過which jconsole來查看
/usr/local/jdk1.7.0_79/bin/jconsole
 
2.使用方式:
在linux監控端的圖形界面執行: /usr/local/jdk1.7.0_79/bin/jconsole 將出現圖形化java監控和管理控制台。
 
3.執行后出現JConsole新建連接,有兩個選擇:
1.本地進程(可以監控本機的java)
——》org.apache.catalina.startup.Bootstartup start
 
2.遠程進程(用於監控其他主機的java)
——》填寫需要被監控的主機名:監控端口,輸入監控專用的用戶名/密碼(可選)
 
步驟1:需在被監控的主機上修改catalina.sh配置文件:
vi /opt/tomcat/conf/catalina.sh
如不需密碼驗證,則在第二行開始添加下面3行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port= 12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate= false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl= false"
保存退出  //“12345”為監控端口號
 
如需密碼驗證,則改為下面4行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port= 12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate= true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl= false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file= /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password"
保存退出
 
步驟2:將/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template復制一份:
 
cp /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template \
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password
 
步驟3:添加用於遠程監控的用戶名和密碼:
vi  jmxremote.password  //用於添加用戶名和密碼
monitorRole 12345678  //用戶名:monitorRole,這個名字系統是預先設置好的
admin 123456  //自定義了用戶名:admin
root 123456  //自定義了用戶名:root
強制保存退出
 
vi  jmxremote.access  //自定義監控的用戶名具有哪些權限
添加:
admin readonly  //定義只讀帳號,名字任意
root readwrite \  //定義讀寫帳號,名字任意
create javax.management.monitor.*,javax.management.timer.* \
保存退出
 
 
chmod 600  jmxremote.password
chown uucp:uucp jmxremote.password  //先用ls -l /usr/local/jdk1.7.0_79看看是屬於哪個用戶和組,再設置成相同的。
 
注:如果JConsole不能訪問本機的程序的話,添加如下內容:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
 
好了,可以連接了:
輸入要被監控的主機名cen01,端口:12345,
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM