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

米米素材网

这篇文章主要介绍了使用jconsole监听远程Tomcat服务,需要的朋友可以参考下

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服务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对米米素材网网站的支持!

原文链接:https://blog.csdn.net/jiaotuwoaini/article/details/82584983