云服务器springboot jar项目开启jmx remote监控-解决无法连接的问题

本文记录了在服务器上配置SpringBoot项目进行JMX远程监控时遇到的问题及解决过程。缺少关键参数`java.rmi.server.hostname`和`jmxremote.rmi.port`导致无法连接,加上这两个参数并解决防火墙问题后,成功实现了远程监控。实践中,详细配置和全面理解参数设置的重要性不言而喻。
摘要由CSDN通过智能技术生成

前言

服务器上跑了一个springboot项目,尝试开启jmx远程监控,观察下jvm的情况。按照网上的一些文章去添加了参数,发现无法连接远程jmx,如下所示
在这里插入图片描述
经过一番排查,终于解决问题。

服务器端jar包启动命令示例

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

java -jar boot-app.jar , 这命令大家应该很熟悉!
中间-D参数是开启jmx的参数

重点关注的参数:

-Djava.rmi.server.hostname - 填写主机域名或ip
-Dcom.sun.management.jmxremote.port - jmx端口(添加jmx连接时使用)
-Dcom.sun.management.jmxremote.rmi.port - rmi端口
很多博文,都漏了hostname、rmi.port参数
在这里插入图片描述

遇到的问题

  1. jmx参数缺失
    jmxremote.rmi.port、java.rmi.server.hostname
    网上很多文章都是抄来抄去。我也是copy过来的参数(少了上面两个参数),然后在服务器上跑,结果就是怎么都连不上。
    花了很多时间排查,才发现少了上面两个参数。
    经过测试,这三个参数都需要设置,才能连上

  2. 防火墙问题
    这个问题比较好发现,云服务器一般有安全组,添加规则,开放jmx的端口就噢了。

最后

事实证明,还是得多手动去实践~

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狂疯码打中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值