欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

使用jconsole监听远程Tomcat服务的方法

程序员文章站 2022-03-18 14:42:32
jconsole是什么     从java 5开始 引入了 jconsole。jconsole 是一个内置 java 性能分析器,可以从命令...

jconsole是什么

    从java 5开始 引入了 jconsole。jconsole 是一个内置 java 性能分析器,可以从命令行或在 gui shell 中运行。您可以轻松地使用 jconsole(或者,它更高端的 “近亲” visualvm )来监控 java 应用程序性能和跟踪 java 中的代码。

1. 获取远程服务器的地址和可用端口号

我拿的是我自己的阿里云主机,服务器地址为39.107.68.142,端口号为8696

查看端口号是否可用: netstat -tunlp|grep 8696

使用jconsole监听远程Tomcat服务的方法
 


我们可以看出上面的6969已经被使用,8696未被使用。

查看进程启动的端口

netstat -antup |grep 32594

查看端口监听情况

lsof -i:1234

2. 修改tomcat的启动脚本开启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 //这个ip是自己服务器的外网ip

位置:

使用jconsole监听远程Tomcat服务的方法

3. 重启tomcat服务

使用shutdown.sh关闭服务的时候可能会报error: jmx connector server communication error: service:jmx:rmi://dusk:8696错误

不用管 直接杀掉 kill -9 进程号

查看进程: ps -ef|grep tomcat

然后启动服务 startup.sh

使用netstat -tunlp|grep 8696 确认端口是否已经处于监听状态

4. 开放端口号

如果我们开启了防火墙需要在防火墙中开放这个端口

查看防火墙状态service  iptables status

开放端口:

(1)通过vi /etc/sysconfig/iptables 进入编辑增添一条-a input -p tcp -m tcp --dport 8889 -j accept 即可
 (2)执行 /etc/init.d/iptables restart 命令将iptables服务重启

如果是阿里云主机还需要再安全组中开放端口:

使用jconsole监听远程Tomcat服务的方法

5.打开本地jconsole监控远程服务

在远程进程中输入: 39.107.68.142:8696 点击连接

使用jconsole监听远程Tomcat服务的方法

然后就可以查看jvm允许状况

使用jconsole监听远程Tomcat服务的方法

总结

以上所述是小编给大家介绍的使用jconsole监听远程tomcat服务的方法,希望对大家有所帮助