懶散了許久,很久沒有寫博客了。因疫情過后新換工作,正式投入的ERP的開發與學習中。也正式入坑外包公司,發現外包似乎並沒有傳說中的:'你是外包不可以偷吃公司零食'。總體來說,國企上班制度還是挺好的,有更多的時間去思考之后的規划及職業發展了。本着技術人不斷學習的精神,最近又開始學習java生產環境的課程了,之后會分享一系列相關的知識總結,共勉。
回歸正題,如何配置遠程監控程序的運行狀態呢?這里推薦使用jdk自帶的jvisualvm軟件。
1、在服務器的Tomcat的bin目錄下,修改catalina.sh配置文件。
找到JAVA_OPTS="$JAVA_OPTS $JSSE_OPTS"(PS:vim中查找字符方式為/字符)。在此之上補充對JAVA_OPTS的設置。

2、ps -ef | grep tomcat 得到pid
3、kill -9 pid,殺死tomcat進程
4、./startup.sh重新啟動tomcat
5、打開jvisualvm軟件,右鍵遠程,添加遠程服務器

6、在遠程服務器上右鍵添加jmx連接

7、自信滿滿的點擊了確定,以為能夠成功了。(PS:因使用的服務器為阿里雲的,所以需要配置安全組規則,否則無法訪問對應的端口)天不遂人願,連接失敗,報錯信息為:jvisualvm來連接VM的時候,報無法使用錯誤:service:jmx:rmi:....連接到ip:port
8、上網百度,各種猜測,網上的解決方案大概為:排查防火牆是否關閉、catalina.sh配置不生效。
9、查看防火牆的狀態:systemctl status firewalld

10、配置不生效不好排查了,頭疼了咋辦呢?
11、往往一條路走不通的時候,可以試試另一條路,那么我們換個思路來排查。查下tomcat 進程占用的端口號
根據進程查端口號:netstat -antup | grep pid
根據端口號查看進程:netstat -ntlp | grep port

12、發現配置了8080和9004的端口號,我們已經在安全組中添加了,但是37231和42108的沒有添加,問題是不是這個導致的呢,百度一下。發現如下:

13、那么我們在安全中把這兩個被監聽的端口號配置上,再試一下。功夫不負有心人,結果就成功了。

