Guide des technologies

Surveiller et gérer Apache Tomcat

8 min read Surveillance Mis à jour 19 Sep 2025
Surveillance et gestion d'Apache Tomcat
Surveillance et gestion d'Apache Tomcat

Intentions de cet article

  • Objectif principal : surveillance Apache Tomcat avec JMX et capteurs HTTP.
  • Variantes liées : configuration JMX, capteurs Tomcat, compteurs de performance, alertes et notifications, intégration Verax NMS.

Sommaire

  • Ajout d’Apache Tomcat à l’inventaire
  • Ajout et configuration des capteurs (JMX, HTTP)
  • Vue d’ensemble du plugin Tomcat et compteurs utiles
  • Configuration des alarmes et politiques de notification
  • Dépannage, alternatives et checklist par rôle

Ajout d’Apache Tomcat à l’inventaire

Cette section décrit comment déclarer une instance Tomcat dans Verax NMS afin de commencer la surveillance.

Étapes rapides :

  1. Connectez-vous à Verax NMS et sélectionnez Accueil dans le menu principal.
  2. Dans l’arborescence des aspects à gauche, sélectionnez le périphérique qui exécute Tomcat.

Arbre des aspects montrant les périphériques et catégories gérées

  1. Dans l’onglet Résumé, sélectionnez Gérer les applications depuis la section actions.

Bouton Gérer les applications dans l'onglet Résumé

  1. Dans le menu contextuel, choisissez Ajouter une application puis cliquez sur Aller.

Dialogue contextuel pour ajouter une application

  1. Choisissez Apache Tomcat dans les types d’application proposés.

Sélection du type d'application Apache Tomcat

Paramètres spécifiques demandés par le système :

  • Instance name — nom libre décrivant l’instance surveillée.
  • Host — adresse IP ou nom de l’hôte où tourne Tomcat.
  • Port — port du serveur d’application (par ex. 8080).
  • User / Password — identifiants si nécessaires pour l’interface d’administration.
  • JMX Connection — URL de connexion JMX (ex: service:jmx:rmi:///jndi/rmi://host:port/jmxrmi).
  • JMX User / JMX Password — identifiants JMX si l’authentification est activée.

Remarque importante : les paramètres demandés peuvent varier selon le type d’application sélectionné.

  1. Renseignez les champs requis puis cliquez sur Enregistrer les modifications.
  2. Le système proposera d’ajouter un ensemble par défaut de capteurs et compteurs : pour ce guide, choisissez Non (nous ajoutons les capteurs manuellement).
  3. L’instance Tomcat apparaît désormais dans l’arbre d’aspects, sous la catégorie Applications gérées du nœud hôte.

Instance Tomcat visible dans l'arbre d'aspects sous Applications gérées

Comment Tomcat peut être surveillé :

  • Affichage d’informations à la demande via l’action Afficher la vue avancée dans l’onglet Résumé.
  • Collecte de métriques via compteurs JMX dédiés ou modèles JMX prédéfinis.
  • Vérification de la disponibilité via capteurs JMX.
  • Vérification de disponibilité d’applications web et expérience utilisateur via capteurs HTTP.

Ajouter des capteurs pour Apache Tomcat

Principe : les capteurs interrogent périodiquement les services du périphérique. Une réponse attendue signifie “disponible” ; absence ou réponse incorrecte signifie “indisponible”.

Pré-requis côté Tomcat — activer JMX

Sur le serveur Tomcat, la surveillance JMX doit être activée. Ajoutez ces paramètres Java au démarrage de Tomcat (exemple Windows) :

set CATALINA_OPTS=-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=%my.jmx.port% \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false

Consultez la documentation officielle de Tomcat pour les détails sur JMX et la sécurité : http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html

Types de capteurs Tomcat disponibles par défaut :

  • JMX Operation — vérifie si une opération JMX pour un MBean retourne un résultat.
  • JMX Attribute — vérifie si un attribut JMX d’un MBean retourne une valeur.
  • HTTP — vérifie le code de réponse attendu sur une URL HTTP/HTTPS et, si fourni, la présence d’une expression régulière dans le corps de la réponse.

Ajouter un capteur dans Verax NMS : procédure

  1. Dans l’arborescence des aspects, sélectionnez le périphérique ciblé (vue Accueil).
  2. Ouvrez l’onglet Moniteurs puis cliquez sur Liste des capteurs (coin supérieur droit) pour afficher la liste.
  3. Sélectionnez Ajouter dans le menu d’action global puis cliquez sur Aller. L’assistant d’ajout s’ouvre.

Assistant d'ajout de capteur

  1. Choisissez le type de capteur souhaité et cliquez sur Suivant.

Sélection du type de capteur dans l'assistant

  1. Remplissez tous les paramètres du capteur dans la fenêtre de configuration puis cliquez sur Terminer.
  2. Les capteurs ajoutés apparaissent ensuite dans la liste des capteurs de l’onglet Moniteurs.

Conseils pratiques pour les capteurs JMX

  • Utilisez des compteurs basés sur les MBeans suivants : Catalina:type=GlobalRequestProcessor, Catalina:type=ThreadPool, et les MBeans des applications web déployées.
  • Préférez des expressions régulières simples pour l’analyse HTTP afin d’éviter des faux négatifs.
  • Sécurisez JMX en production : activez ssl et authenticate, et limitez l’accès réseau (firewall, ACLs).

Vue d’ensemble du plugin Tomcat et compteurs utiles

Le plugin Tomcat (ou le modèle d’application Tomcat) fourni par un NMS contient des gabarits de compteurs JMX fréquemment utilisés. Exemples de métriques utiles à surveiller :

  • Threads actifs, threads max
  • Requêtes par seconde et temps de traitement moyen
  • Pool de connexions JDBC : connexions actives, connexions en attente
  • Usage mémoire Java (heap/non-heap) et GC pauses
  • Erreurs HTTP 5xx / taux d’erreurs

Mini-méthodologie pour une surveillance efficace

  1. Découverte : identifier les services HTTP, JMX, bases de données liées.
  2. Baseline : collecter métriques pendant 1–2 jours avec un intervalle serré pour établir des seuils.
  3. Alerting : définir seuils et politiques de notification basées sur l’impact.
  4. Affinage : itérer sur les seuils et supprimer les alertes non-actionnables.
  5. Automatisation : ajouter scripts ou playbooks pour remédiation automatique (redémarrage contrôlé, purge cache).

Configurer les alarmes et les politiques de notification

Principes :

  • Séparez les alertes de disponibilité (service down) et celles de performance (congestion, mémoire).
  • Priorisez les notifications par gravité pour éviter la fatigue d’alerte.
  • Incluez des informations exploitables : métrique, valeur mesurée, seuil, timestamp, commande de diagnostic.

Exemples de politiques :

  • Critique : service Tomcat indisponible > 1 min → notification SMS + e-mail équipe d’astreinte.
  • Haut : taux d’erreur HTTP > 5 % pendant 5 min → e-mail équipe dev/backend.
  • Moyen : latence moyenne > seuil pendant 10 min → open ticket dans l’outil ITSM.

Important : testez les flux de notifications dans un environnement de staging avant de les déployer en production.

Dépannage courant (quand cela échoue)

Symptôme : échec de la connexion JMX

  • Causes fréquentes : JMX non activé, port bloqué par firewall, mauvaise URL JMX, authentification requise.
  • Vérifications : tester la connexion JMX depuis le serveur NMS avec jconsole ou un utilitaire JMX, tracer les ports TCP, vérifier les logs Tomcat.

Symptôme : capteurs HTTP retournent des faux négatifs

  • Causes fréquentes : vérification sur l’URL erronée, redirections non suivies, expression régulière trop stricte.
  • Actions : valider l’URL dans un navigateur/curl, rendre la regex plus permissive, vérifier les en-têtes et codes de redirection.

Symptôme : métriques incohérentes ou fluctuantes

  • Causes : intervalle de collecte trop court, GC impactant temps de réponse, threads en fuite.
  • Actions : augmenter l’intervalle d’échantillonnage pour lisser, activer les traces GC, analyser heap dumps.

Alternatives et intégrations

  • APM (Application Performance Management) : solutions comme Elastic APM, Datadog, New Relic offrent traces distribuées et profils d’application — utile pour diagnostics profonds.
  • SNMP / syslog : moins riche que JMX pour Tomcat, mais utile pour l’intégration réseau et la corrélation d’événements.
  • Agents Java (bytecode instrumentation) : pour mesures plus fines (traces, spans), mais plus intrusifs.

Décision rapide (choisir le capteur) :

flowchart TD
  A[Besoin principal] --> B{Vérifier disponibilité ou perf?}
  B -->|Disponibilité| C[HTTP sensor]
  B -->|Performance| D[JMX Attribute/Operation]
  C --> E{Nécessite contenu spécifique?}
  E -->|Oui| F[HTTP + regex]
  E -->|Non| G[HTTP simple 'code 200 OK']
  D --> H{MBean connu?}
  H -->|Oui| I[Choisir attribut/opération]
  H -->|Non| J[Découvrir MBeans puis configurer]

Checklist par rôle

Administrateur système

  • Vérifier activation et sécurité JMX
  • Ouvrir ports nécessaires et configurer firewall
  • Documenter endpoints et identifiants

SRE / Opérations

  • Définir seuils et escalades
  • Automatiser redémarrage contrôlé en cas de panne
  • Mettre en place runbooks de remédiation

Développeur

  • Exposer MBeans pertinents pour métriques applicatives
  • Instrumenter la logique pour mesurer latences critiques
  • Répondre aux alertes liées au code (stack traces, logs)

Bonnes pratiques de sécurité

  • Ne jamais laisser JMX sans authentification ni chiffrement en production sans restrictions réseau.
  • Limiter l’accès JMX aux adresses IP du NMS.
  • Utiliser des comptes à privilèges réduits pour la lecture des métriques.

Finir proprement — résumé et prochaines étapes

Points clés :

  • Déclarez l’instance Tomcat dans Verax NMS avant d’ajouter les capteurs.
  • Activez et sécurisez JMX sur Tomcat pour collecter les métriques détaillées.
  • Configurez des capteurs JMX et HTTP adaptés et testez-les.
  • Définissez des politiques d’alerte exploitables et un plan de remédiation.

Actions recommandées :

  • Mettre en place une période de baseline (1–2 jours) pour calibrer les seuils.
  • Documenter les runbooks pour les incidents Tomcat courants.
  • Evaluer si un APM est nécessaire pour les problèmes de performance complexes.

Notes importantes

  • Ne déployez pas JMX non sécurisé dans des environnements accessibles publiquement.
  • Testez toutes les alertes en staging pour éviter les bruits de production.

Résumé final

Ce guide fournit une méthode concrète pour ajouter Tomcat à Verax NMS, configurer JMX/HTTP, choisir les métriques clés, et créer des politiques d’alerte efficaces. Utilisez les checklists par rôle et la section dépannage pour résoudre rapidement les incidents ou améliorer la couverture de surveillance.

Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE