java-jvisualvm远程监控阿里云服务器上的Tomcat

一、修改要访问的远程主机(Linux)tomcat相关文件

    1.打开$CATALINA_HOME/bin/catalina.sh,在第一行注释后面添加,也就是#!/bin/sh后添加,

export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.*.* -Dcom.sun.management.jmxremote.port=8999
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=/opt/apache-tomcat-9.0.1/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=/opt/apache-tomcat-9.0.1/conf/jmxremote.access"

2.备注:

-Dcom.sun.management.jmxremote 启用JMX远程监控
-Djava.rmi.server.hostname=192.168.*.* 连接的服务器地址
-Dcom.sun.management.jmxremote.port=8999 jmx连接端口 可以自己定义
-Dcom.sun.management.jmxremote.ssl=false 是否ssl加密
-Dcom.sun.management.jmxremote.authenticate=true 远程连接需要密码认证(如为false后面的可省略);
-Dcom.sun.management.jmxremote.password.file=/opt/apache-tomcat-9.0.1/conf/jmxremote.password 指定连接的用户名和密码配置文件

-Dcom.sun.management.jmxremote.access.file=/opt/apache-tomcat-9.0.1/conf/jmxremote.access 指定连接的用户所拥有权限的配置文件

连接服务器地址可以写为公网地址,linux使用命令 hostname -i 查看输出是否为公网地址,不是的话修改/etc/hosts文件,指向公网地址。

3.其中jmxremote.password文件:

monitorRole roor123
controlRole root123

4.jmxremote.access文件:

monitorRole readonly  
controlRole readwrite  

5.重启Tomcat服务。

6.使用命令 lsof  -i:8999 查看端口号是否被监听。

7.使用命令 netstat -antup |grep [pid]


会发现tomcat多开启了两个端口号 39143 38202。

因为当我们添加 -Dcom.sun.management.jmxremote.port 参数后不止会开启指定的端口,还会随机开启两个端口号,一个作为Jms的数据通讯端口,另一位作为jconsole的本地连接端口从阿里云控制台开放指定端口和两个随机端口,如果开启有防火墙,同样放开,不然会导致连接不上。

二、在本地(Windows)创建jvisualvm--JMX连接

1.打开本地安装JDK_HOME/bin目录:{JAVA_HOME}\bin

2.打开:jvisualvm.exe

 3.右键添加远程主机:


4.新建JMX连接


右键打开此连接即可。


参考资料:

https://www.cnblogs.com/quyanhui/p/5924474.html

https://blog.csdn.net/caomiao2006/article/details/51589836


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值