使用jconsole監(jiān)聽遠(yuǎn)程Tomcat服務(wù)的方法
JConsole是什么
從Java 5開始 引入了 JConsole。JConsole 是一個(gè)內(nèi)置 Java 性能分析器,可以從命令行或在 GUI shell 中運(yùn)行。您可以輕松地使用 JConsole(或者,它更高端的 “近親” VisualVM )來監(jiān)控 Java 應(yīng)用程序性能和跟蹤 Java 中的代碼。
1. 獲取遠(yuǎn)程服務(wù)器的地址和可用端口號(hào)
我拿的是我自己的阿里云主機(jī),服務(wù)器地址為39.107.68.142,端口號(hào)為8696
查看端口號(hào)是否可用: netstat -tunlp|grep 8696
![]() |
我們可以看出上面的6969已經(jīng)被使用,8696未被使用。
查看進(jìn)程啟動(dòng)的端口
netstat -antup |grep 32594
查看端口監(jiān)聽情況
lsof -i:1234
2. 修改tomcat的啟動(dòng)腳本開啟JMX
修改catalina.sh 腳本文件 在文件開頭添加
JAVA_OPTS="-Djava.rmi.server.hostname=39.107.68.142 -Dcom.sun.management.jmxremote.port=8696 -Dcom.sun.management.jmxremote.rmi.port=8696 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
其中
-Dcom.sun.management.jmxremote.port=9696 //連接端口,自定義不要與已有的端口沖突
-Dcom.sun.management.jmxremote.rmi.port=8696 //這句一定要添加,不添加就無法成功
-Dcom.sun.management.jmxremote.authenticate=false //不需要密碼登陸
-Dcom.sun.management.jmxremote.ssl=false //不需要安全證書
-Djava.rmi.server.hostname=39.107.68.142 //這個(gè)ip是自己服務(wù)器的外網(wǎng)ip
位置:
3. 重啟tomcat服務(wù)
使用shutdown.sh關(guān)閉服務(wù)的時(shí)候可能會(huì)報(bào)Error: JMX connector server communication error: service:jmx:rmi://dusk:8696錯(cuò)誤
不用管 直接殺掉 kill -9 進(jìn)程號(hào)
查看進(jìn)程: ps -ef|grep tomcat
然后啟動(dòng)服務(wù) startup.sh
使用netstat -tunlp|grep 8696
確認(rèn)端口是否已經(jīng)處于監(jiān)聽狀態(tài)
4. 開放端口號(hào)
如果我們開啟了防火墻需要在防火墻中開放這個(gè)端口
查看防火墻狀態(tài)service iptables status
開放端口:
(1)通過vi /etc/sysconfig/iptables 進(jìn)入編輯增添一條-A INPUT -p tcp -m tcp --dport 8889 -j ACCEPT 即可
(2)執(zhí)行 /etc/init.d/iptables restart 命令將iptables服務(wù)重啟
如果是阿里云主機(jī)還需要再安全組中開放端口:
5.打開本地jconsole監(jiān)控遠(yuǎn)程服務(wù)
在遠(yuǎn)程進(jìn)程中輸入: 39.107.68.142:8696 點(diǎn)擊連接
然后就可以查看JVM允許狀況
總結(jié)
以上所述是小編給大家介紹的使用jconsole監(jiān)聽遠(yuǎn)程Tomcat服務(wù)的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Tomcat啟動(dòng)時(shí)JAR包報(bào)錯(cuò)Invalid byte tag in const
在開發(fā)Java Web應(yīng)用時(shí),我們經(jīng)常會(huì)使用Apache Tomcat作為 Servlet容器進(jìn)行部署和測(cè)試,然而,在項(xiàng)目啟動(dòng)過程中,有時(shí)會(huì)遇到類似于“Invalid byte tag in constant pool”的異常,本文將詳細(xì)分析這一問題的成因,并探討幾種有效的解決方案,需要的朋友可以參考下2024-10-10tomcat以及tomcat環(huán)境變量安裝配置方法教程
這篇文章主要為大家詳細(xì)介紹了tomcat以及tomcat環(huán)境變量安裝配置方法教程,感興趣的小伙伴們可以參考一下2016-06-06深度解析Tomcat 線程池與 JDK 線程池的區(qū)別和聯(lián)系
Tomcat 線程池和 JDK 線程池都是在 Java 開發(fā)中非常有用的工具,用于處理不同類型的并發(fā)任務(wù),本文將深入探討 Tomcat 線程池與JDK 線程池之間的區(qū)別和聯(lián)系,以幫助開發(fā)人員更好地理解它們的工作原理和如何在自己的項(xiàng)目中使用它們2023-11-11tomcat應(yīng)用文件備份腳本及日志備份腳本的示例代碼
這篇文章主要介紹了tomcat應(yīng)用文件備份腳本及日志備份腳本的示例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08Tomcat中實(shí)現(xiàn)Session小結(jié)
本篇文章主要介紹了Tomcat中實(shí)現(xiàn)Session小結(jié) ,Session的主要目的就是為了彌補(bǔ)Http的無狀態(tài)特性。簡(jiǎn)單的說,就是服務(wù)器可以利用session存儲(chǔ)客戶端在同一個(gè)會(huì)話期間的一些操作記錄。2017-01-01nginx+tomcat單個(gè)域名及多個(gè)域名配置教程
這篇文章主要介紹了nginx+tomcat單個(gè)域名及多個(gè)域名配置教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-12-12Tomcat簡(jiǎn)單網(wǎng)站部署的三種方式小結(jié)
本文主要介紹了Tomcat簡(jiǎn)單網(wǎng)站部署的三種方式小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05startup.bat啟動(dòng)Tomcat閃退問題原因及解決
本文主要介紹了startup.bat啟動(dòng)Tomcat閃退問題原因及解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04