本文共 830 字,大约阅读时间需要 2 分钟。
服务器上跑了一个springboot项目,尝试开启jmx远程监控,观察下jvm的情况。按照网上的一些文章去添加了参数,发现无法连接远程jmx,如下所示
经过一番排查,终于解决问题。
java \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.local.only=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false \ -Djava.rmi.server.hostname=www.sample.com\ -Dcom.sun.management.jmxremote.port=9901 \ -Dcom.sun.management.jmxremote.rmi.port=9902 \ -jar /app/boot-app-1.0.jar
重点关注的参数:
-Djava.rmi.server.hostname - 填写主机域名或ip
-Dcom.sun.management.jmxremote.port - jmx端口(添加jmx连接时使用)
-Dcom.sun.management.jmxremote.rmi.port - rmi端口
jmx参数缺失
jmxremote.rmi.port、java.rmi.server.hostname。也就是上面重点关注的参数。
网上很多文章都是抄来抄去。我也是copy参数,然后再服务器上跑,结果就是怎么都连不上。花了很多时间排查,才发现少了上面两参数。
经过测试,这三个参数都需要设置,才能连上
防火墙
这个问题比较好发现,云服务器一般有安全组,添加规则,开放jmx的端口就噢了。
事实证明,还是得多动实践~
转载地址:http://xsnzz.baihongyu.com/