Home > Java > javaTutorial > body text

How to monitor remote SpringBoot project with Jvisualvm

PHPz
Release: 2023-05-27 10:02:24
forward
1973 people have browsed it

Note: There are two ways for VisualVM to connect to the remote server: JMX and jstatd. Neither method can perfectly support all functions.

For example, JMX does not support VisualGC,

jstatd does not support CPU monitoring,

can be configured at the same time and selected as needed for actual use.

jvisualvm program adds a remote connection, please turn off the local firewall.

JMX

1. Modify SpringBoot startup parameters

The normal springboot startup command is

nohup java -jar demo.jar &
Copy after login

After using monitoring:

nohup java -Djava.rmi.server.hostname=192.168.81.149 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar jvm-1.0-SNAPSHOT.jar &
Copy after login
java -Djava.rmi.server.hostname=192.168.81.149 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=1099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar jvm-1.0-SNAPSHOT.jar
Copy after login

jvm -1.0-SNAPSHOT.jar is the jar package of the project

192.168.81.149 is the machine ip where the project is deployed

1099 is the remote port number that jvisualvm needs to connect to

authenticate=false Not enabled, user authentication

2. Use local jvisualvm to monitor remote

How to monitor remote SpringBoot project with Jvisualvm

How to monitor remote SpringBoot project with Jvisualvm

How to monitor remote SpringBoot project with Jvisualvm

How to monitor remote SpringBoot project with Jvisualvm

How to monitor remote SpringBoot project with Jvisualvm

##There may be nothing after opening it, it’s empty. This is because the project needs someone to access it, you can do whatever you want

How to monitor remote SpringBoot project with Jvisualvm

jstatd

1. Add configuration

This method requires you to manually install the JDK, or you know where the jdk is

In the jdk directory Create the bin under

vi jstatd.all.policy
Copy after login

I specified the absolute path here to facilitate the elimination of path effects

grant codebase "file:${java.home}/../lib/tools.jar" {    
    permission java.security.AllPermission;    
};
Copy after login

Start the jstatd background application port (default is 1099) Use the parameter -p to specify other ports

jstatd -J-Djava.security.policy=jstatd.all.policy \
-J-Djava.rmi.server.hostname=192.168.81.149 \
-J-Djava.rmi.server.logCalls=true  -p 1098
Copy after login

(I ran the following command in the /usr/local/jdk1.8.0_161/bin path. There is a jstatd.all.policy file in this path. If you execute it elsewhere, remember Specify absolute or relative path)

Among them,

-J-Djava.security.policy=jstatd.all.policy 指定路径
-J-Djava.rmi.server.logCalls=true  打印日志
-J-Djava.rmi.server.hostname=192.168.81.149  指定主机名,主机名应该和你用hostname -i命令执行出来的结果一致。
Copy after login

Start the project

java  -jar jvm-1.0-SNAPSHOT.jar
Copy after login
2. Use local jvisualvm to monitor remote

How to monitor remote SpringBoot project with Jvisualvm

How to monitor remote SpringBoot project with Jvisualvm

How to monitor remote SpringBoot project with Jvisualvm

This 1,098 is actually the automatic conversion of 1098 when we input it

How to monitor remote SpringBoot project with Jvisualvm

The above is the detailed content of How to monitor remote SpringBoot project with Jvisualvm. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template