利用jconsole怎么对Tomcat服务进行监听?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
成都创新互联公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!为您提供成都网站建设、成都网站制作、成都网页设计、微信小程序开发、成都网站开发、成都网站制作、成都软件开发、重庆APP开发公司是成都本地专业的网站建设和网站设计公司,等你一起来见证!JConsole是什么
从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
1. 获取远程服务器的地址和可用端口号
我拿的是我自己的阿里云主机,服务器地址为39.107.68.142,端口号为8696
查看端口号是否可用: netstat -tunlp|grep 8696
我们可以看出上面的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
位置:
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服务重启
如果是阿里云主机还需要再安全组中开放端口:
5.打开本地jconsole监控远程服务
在远程进程中输入: 39.107.68.142:8696 点击连接
然后就可以查看JVM允许状况
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。