JAVA 利用 jmc或jvisualvm 監控 本地或者遠程JVM


本地檢測之間到$JAVA_HOME/bin 下的目錄點擊jmc 或者jvisualvm,然后選擇你要監控的app

可是一般我們生產環境項目都是部署在遠程,這個時候想要監控怎么辦

1、監控tomcat

找到tomcat的catalina.sh,然后在第一行加上:(最后的位置加上本機ip)

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname="

2、監控其他java程序

修改啟動參數  

如果你原來啟動的腳本  java  -jar  demo.jar

添加參數

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=

啟動程序以后:點擊連接 然后創建新連接 就可以遠程監控

把服務器ip和剛才開放的端口填上就好了,測試一下連接 

效果圖

 

上面的是不需要密碼的 生產環境不安全  如果想設置密碼

1.進入服務器$JAVA_HOME/jre/lib/management

把jmxremote.password文件的后綴去掉,然后修改至600權限

chmod 600 jmxremote.access  

打開編輯到最后

#monitorRole ROF
#controlRole R&D

去掉# 保存 (前面是用戶名,后面是密碼  可自己修改   用戶在同目錄  jmxremote.access文件內定義,默認有2個用戶,可定義權限)

2.將剛才的啟動參數中的 

-Dcom.sun.management.jmxremote.authenticate=false  修改為 true 或者直接去掉(默認true)

3.創建新連接的時候輸入用戶名和密碼

 

大功告成!!!!!!!!!




免責聲明!

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



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