Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Tomcat Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

JMX (Java Management Extension) est une technologie très puissante qui vous permet d’administrer, de surveiller et de configurer les MBeans de Tomcat.

Si vous êtes un administrateur Tomcat, vous devez savoir comment activer JMX dans Tomcat pour surveiller la mémoire de tas, les threads, l’utilisation du processeur, les classes et configurer divers MBeans.

Dans cet article, je vais vous expliquer comment activer et vous connecter à Tomcat avec JConsole.

Je suppose que vous avez installé Tomcat, si ce n’est pas le cas, vous pouvez vous référer au guide d’installation.

  • Allez dans le chemin où vous avez installé Tomcat
  • Allez dans le dossier bin
  • Créez un fichier “setenv.sh”
  • Modifiez le fichier à l’aide de l’éditeur vi et ajoutez ce qui suit
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
  • Modifiez l’autorisation du fichier en tant qu’exécutable
chmod 755 setenv.sh

Avant de lancer Tomcat pour vérifier JMX, examinons la configuration ci-dessus.

  1. Dcom.sun.management.jmxremote.port=9000 – vous pouvez modifier le numéro de port si vous le souhaitez.
  2. Dcom.sun.management.jmxremote.ssl=false – cela signifie se connecter sans SSL
  3. 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.

Démarrons Tomcat avec le fichier script startup.sh. Une fois démarré, vous pouvez le vérifier à l’aide de la commande netstat ou ps -ef grep.

Pour vérifier à l’aide de netstat

netstat -anlp | grep 9000

[root@localhost ~]# netstat -anlp |grep 9000
tcp6 0 0 :::9000 :::* LISTEN 9372/java
[root@localhost ~]#

Pour vérifier à l’aide de la commande ps

ps -ef |grep jmx

[root@localhost ~]# ps -ef|grep jmx
root 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é dans Tomcat et qu’il est temps de se connecter à l’aide du client JMX.

Vous pouvez utiliser n’importe quel client, mais pour vous montrer, j’utiliserai jconsole, qui est fourni avec Java.

Connecter Tomcat JMX à l’aide de Jconsole

  • Allez dans le chemin où vous avez jconsole

Astuce : vous pouvez utiliser la commande find pour chercher si vous n’êtes pas sûr.

  • Exécutez jconsole
./jconsole

La console de surveillance et de gestion Java s’affiche.

  • Sélectionnez “Processus distant”
  • Saisissez les détails de l’hôte et du port du serveur

jconsole-connection

  • Cliquez sur “Connect”

Cela se connectera à Tomcat et vous montrera de très beaux graphiques de l’utilisation du CPU, de la mémoire et des threads. Cela s’avère très pratique lors du dépannage.

jconsole-overview

Vous pouvez également effectuer un GC à partir de la console.

  • Cliquez sur l’onglet Memory, et vous verrez le bouton “Perform GC”

jconsole-memory

Comme mentionné au début de l’article, vous pouvez également configurer des MBeans pour les classes.

Ceci est souvent utilisé si vous devez changer la journalisation ou des paramètres spécifiques au moment de l’exécution.

Allez-y, 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, consultez ce tutoriel.

  • Chandan Kumar
    Auteur
    Chandan Kumar est le fondateur de Geekflare. Il a aidé des millions de personnes à exceller dans le domaine numérique. Passionné de technologie, il s'est donné pour mission d'explorer le monde et d'amplifier la croissance des professionnels et des entreprises.
Merci à nos sponsors
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus