JMX (Java Management Extension) est une technologie très puissante, qui vous permet d'administrer, de surveiller et de configurer les Tomcat MBeans.
Si vous êtes un administrateur Tomcat, vous devez savoir comment activer JMX dans tomcat pour surveiller Heap de la mémoire, des threads, de l'utilisation du processeur, des classes et configurer divers MBeans.
Dans cet article, je parlerai de la façon d'activer et de se connecter à Tomcat avec JConsole.
Je suppose que vous avez installé Tomcat sinon; vous pouvez vous référer guide d'installation.
- Accédez au chemin où vous avez installé Tomcat
- Aller au dossier bin
- Créez un fichier comme "setenv.sh"
- Modifiez le fichier à l'aide de l'éditeur vi et ajoutez les éléments suivants
CATALINA_OPTS = "- Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 9000 -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management.jmxremote.authenticate = false"
- Enregistrez le fichier avec ":w »
- Changer l'autorisation de fichier comme exécutable
chmod 755 setenv.sh
Avant de démarrer Tomcat pour vérifier JMX, examinons la configuration ci-dessus.
- Dcom.sun.management.jmxremote.port = 9000 - vous pouvez modifier le numéro de port si vous le souhaitez.
- Dcom.sun.management.jmxremote.ssl = false - cela signifie se connecter sans SSL
- Dcom.sun.management.jmxremote.authenticate = false - cela signifie qu'aucune authentification n'est nécessaire lorsque vous utilisez le client JMX pour vous connecter à l'instance Tomcat.
Commençons le matou par startup.sh Fichier de script. Une fois démarré, vous pouvez vérifier soit en utilisant netstat ou commande ps –ef grep.
To verify using netstat
netstat-anlp | grep 9000
[root@localhost ~]# netstat -anlp |grep 9000 tcp6 0 0 :::9000 :::* ÉCOUTEZ 9372/java [root@localhost ~]#
To verify using ps command
ps –ef | grep jmx
[root@localhost ~]# ps -ef|grep jmx
racine 9372 1 0 21:30 pts/0 00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava. util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun. management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap .jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/ home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start root 9816 9781 0 21:46 pts/0 00:00:00 grep --color=auto jmx [root@localhost ~]#
Ceci conclut que jmx est activé à Tomcat et il est temps de connect en utilisant le client JMX.
Vous pouvez utiliser n'importe quel client, cependant, pour vous montrer que je vais utiliser jconsole, qui est livré avec java.
Connect Tomcat JMX using Jconsole
- Allez sur le chemin où vous avez jconsole
Pointe: vous pouvez utiliser le commande find pour rechercher si vous n'êtes pas sûr.
- Exécuter jconsole
./jconsole
Cela affichera Java Monitoring & Management Console.
- Sélectionnez «Processus à distance»
- Entrez l'hôte du serveur et les détails du port
- Cliquez sur «Connecter»
Cela se connectera à Tomcat et vous montrera de très jolis graphiques d'utilisation du CPU, de la mémoire et des threads. Cela devient très pratique lors du dépannage.
Vous pouvez également exécuter GC à partir de la console.
- Cliquez sur l'onglet Mémoire, et vous verrez le bouton «Effectuer GC»
Comme mentionné au début de l'article, vous pouvez également configurer des MBeans pour les classes.
Ceci est souvent utilisé si vous devez modifier la journalisation ou des paramètres spécifiques au moment de l'exécution.
Alors allez-y et jouez avec Jconsole et JMX. C'est un outil formidable pour le dépannage et la surveillance.
Si vous souhaitez en savoir plus sur Tomcat, alors consultez ce tutoriel.