使用jvisualvm通过JMX的方式远程监控springboot项目的JVM运行情况

使用jvisualvm通过JMX的方式远程监控JVM的运行情况,步骤如下

在启动java程序时加上如下几个参数

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=22222

java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=22222 -jar test.jar
程序就在22222端口上打开了jmx,客户端可以通过jvisualvm来进行连接,下面来说一个客户端的配置。

如果遇到启动不起来,并抛出类似一下异常

[root@badboy test]# Error: Exception thrown by the agent : 
java.net.MalformedURLException: Local host name unknown: 
java.net.UnknownHostException: test: test: Name or service not known

则需要在/etc/hosts 添加 主机名字映射到IP地址的方法

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4  
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6  
127.0.0.1 test 

客户端的配置

在文件菜单下打开“添加远程主机”

然后再在主机下右键“添加JMX连接

在红框内输入设置的端口:22222

在连接一栏中填入主机和端口信息 
这里的主机是要程序运行的机器,这里我们要监控192.168.1.4上的程序
端口是上面启动时-Dcom.sun.management.jmxremote.port参数指定的端口
由于我们将-Dcom.sun.management.jmxremote.authenticate设置为了false,所以无需用户名和密码
点击确定
然后双击查看信息。

评论 (0)