zoukankan      html  css  js  c++  java
  • JavaVisualVM配置远程调试jmx之踩坑日记

      懒散了许久,很久没有写博客了。因疫情过后新换工作,正式投入的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、那么我们在安全中把这两个被监听的端口号配置上,再试一下。功夫不负有心人,结果就成功了。

     

  • 相关阅读:
    window7 上创建定时任务来运行自动化脚本
    初试接口测试
    list tuple dict (列表,元祖,字典间的相互转换)
    防止忘记的一些博客
    [python] 常用正则表达式爬取网页信息及分析HTML标签总结
    python正则表达式提取字符串
    关于json的dump和dumps
    三月23日测试Fiddler
    第六章 部署Python开发的web业务
    第五节 Nginx集群
  • 原文地址:https://www.cnblogs.com/cecWork/p/12953655.html
Copyright © 2011-2022 走看看