Maison  >  Article  >  Java  >  Comment surveiller un projet SpringBoot distant avec Jvisualvm

Comment surveiller un projet SpringBoot distant avec Jvisualvm

PHPz
PHPzavant
2023-05-27 10:02:241894parcourir

Remarque : Il existe deux manières pour VisualVM de se connecter au serveur distant : JMX et jstatd. Aucune des deux méthodes ne peut parfaitement prendre en charge toutes les fonctions.

Par exemple, JMX ne prend pas en charge VisualGC,

jstatd ne prend pas en charge la surveillance du processeur. ,

Utilisation réelle Peut être configuré en même temps et sélectionné selon les besoins.

Le programme jvisualvm ajoute une connexion à distance, veuillez désactiver le pare-feu local.

JMX

1. Modifier les paramètres de démarrage de SpringBoot

La commande de démarrage normale de Springboot est

nohup java -jar demo.jar &

Après avoir utilisé la surveillance :

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 &
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

jvm-1.0-SNAPSHOT.jar est le package jar du projet

192.168.81.149 est déployé par le projet Machine IP

1099 est le numéro de port distant auquel jvisualvm doit se connecter

authenticate=false n'est pas activé, l'authentification de l'utilisateur

2 Utilisez jvisualvm local pour surveiller à distance

Comment surveiller un projet SpringBoot distant avec Jvisualvm

Comment surveiller un projet SpringBoot distant avec Jvisualvm

Comment surveiller un projet SpringBoot distant avec Jvisualvm.

Comment surveiller un projet SpringBoot distant avec Jvisualvm

Ouvrir Ensuite, il se peut qu'il n'y ait rien et qu'il soit vide. C'est parce que le projet a besoin de quelqu'un pour y accéder. Vous pouvez faire ce que vous voulezComment surveiller un projet SpringBoot distant avec Jvisualvm

jstatd

1. Ajouter une configurationComment surveiller un projet SpringBoot distant avec Jvisualvm

Cette méthode vous oblige à le faire. installez manuellement le JDK, ou vous savez Où est le jdk

Créez le bin dans le répertoire jdk

vi jstatd.all.policy

J'ai spécifié le chemin absolu ici pour faciliter l'élimination des effets de chemin

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

Démarrez le port de l'application en arrière-plan jstatd (la valeur par défaut est 1099 ) Utilisez le paramètre -p pour spécifier d'autres 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

(J'ai exécuté la commande suivante dans le chemin /usr/local/jdk1.8.0_161/bin, où se trouve le fichier jstatd.all.policy. Si elle est exécutée ailleurs, rappelez-vous pour spécifier le chemin absolu ou relatif)

Parmi eux,

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

Démarrez le projet

java  -jar jvm-1.0-SNAPSHOT.jar

2 Utilisez jvisualvm local pour surveiller la télécommande

Comment surveiller un projet SpringBoot distant avec Jvisualvm

Comment surveiller un projet SpringBoot distant avec JvisualvmCe 1 098 est en fait 1 098 qui est automatiquement converti. quand on y entre

Comment surveiller un projet SpringBoot distant avec Jvisualvm

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer