使用jvisualvm远程监控tomcat(阿里云ECS)

写在前面:  使用jvisualvm远程监控tomcat(阿里云ECS),连接是报错:service:jmx:rmi:////jndi/rmi:IP:端口//  连接到 IP:端口,网上找了很多资料,未能解决,现已解决,记录下,供参考

本文为本地jvisualvm远程监控阿里云ecs服务器tomcat实践

准备工作:

1.服务器上安装好jdk,在linux命令环境执行java -version,显示如下图则表示安装成功

2.tomcat,并启动tomcat并能在本地正常访问,如下图:

 3.修改tomcat catalina.sh文件以启动Jmx服务配置,操作命令如下:

    cd /bin

   vi catalina.sh

   输入大写G,跳到文档最后一行

  输入 /JAVA_OPTS= 后按Enter,在下图位置添加如下内容(位置要对,否则tomcat启动无法开启该端口):

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=端口 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.net.preferIPv4Stack=true -Djava.rmi.server.hostname=服务器IP"       

  注意:上述添加内容要记得修改成自己的端口和服务器IP,且authenticate=false,所以不需要进行授权配置

  然后,按Esc退出,按:wq保存

 添加配置最终结果如下图:

 最后,重启tomcat,启动成功后输入 netstat -nltp查看端口是否启动成功,另外jmx Server会同时启动其它两个随机接口,如下图:

阿里云安全组设置,登录阿里云,进入控制台->ECS服务器 ->网络与安全->安全组,在实例列表中点击更多,点击配置规则

 

 点击快速创建规则,将上面的3个端口分别加入规则中,加入内容填写如下:

        

进入本地jdk安装目录bin目录(前提是本地要安装了JDK,如未安装请先安装),找到jvisualvm并打开

 

上图中点击确定即可添加成功,连接成功后会在主机下会有对应的连接显示,如下图

 

常见问题:

1.无法使用 service:jmx:rmi:////jndi/rmi:IP:端口//  连接到 IP:端口

解决办法:将随机端口添加到安全组(不需要像其它资料上说的要将防火墙firewall改成iptable)

2.在catalina.sh中添加配置后没有启动jmx端口

解决办法:配置内容不要放在catalina.sh文档的最后,一定要放在正确的位置,如上图

 3.如tomcat无法访问,可以使用service firewalld status查看状态,如下是关闭状态:

关闭防火墙命令: 

开启防火墙命令:

原文地址:https://www.cnblogs.com/wx170119/p/11237315.html