Tomcat开启JMX监控详解(2)

       

Tomcat开启JMX监控详解

       4.1、做完上面操作,使用jdk自带的jvisualvm.exe连接,可以在windows下测试

        

Tomcat开启JMX监控详解

         

Tomcat开启JMX监控详解

         

Tomcat开启JMX监控详解

          

Tomcat开启JMX监控详解

          

Tomcat开启JMX监控详解

        双击打开jmx连接

           

Tomcat开启JMX监控详解

          

Tomcat开启JMX监控详解

       4.2、重启tomcat,测试jmx是否还可以连接上

         # ./shutdown.sh

        4.2.1、再次连接jmx查看是否可以连接上

          数据监控图都查看不了,连接不上

          

Tomcat开启JMX监控详解

          

Tomcat开启JMX监控详解

 为什会出现这个问题?

    网上给出的结论是:

      tomcat的jmx远程健康是需要两个端口,一个是注册端口,一个是服务端口,之前配置指定的9999端口是注册端口,tomcat在启动的时候会随机指定一个服务端口,由于我们注册端口只有一个,所以在重启服务后,注册端口没有变化,服务端口已经变了,再次通过注册端口连接已经连接不上之前的服务端口了,没有办法指定服务端连接,服务端口是随机的。

      有一种方法是设置jmx固定的注册端口和服务端口,通过jar包实现

      

        

   5、登录tomcat官网(注意,我的tomcat版本是1.8.0的官网上只有1.8.5的也可以使用)

      网址:https://tomcat.apache.org/

      根据自己的tomcat版本找到JMX Remote jar

      

Tomcat开启JMX监控详解

   6、把下载下来的上传到tomcta的lib目录下

     获取jar包的连接也可以直接wget到lib目录下

       # wget

       

Tomcat开启JMX监控详解

    7、编辑tomcat的conf目录下的server.xml文件   

     # vim server.xml

     添加下面内容:  

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />

     

Tomcat开启JMX监控详解

    8、编辑tomcat的bin目录下catalina.sh

     # vim catalina.sh

     删除参数:

       -Dcom.sun.management.jmxremote.port=9999

      

Tomcat开启JMX监控详解

    9、重启tomcat测试,jmx注册端口为10001,服务端口为10002

      

Tomcat开启JMX监控详解

       

Tomcat开启JMX监控详解

     

Tomcat开启JMX监控详解

     

Tomcat开启JMX监控详解

     

Tomcat开启JMX监控详解

    10、重启tomcat再次连接测试

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/261eaaeec3d9af200c0d38a74d27a078.html