Technologieführer

Apache Tomcat überwachen und verwalten

7 min read Systemüberwachung Aktualisiert 19 Sep 2025
Apache Tomcat überwachen und verwalten
Apache Tomcat überwachen und verwalten

Kurzfassung: Diese Anleitung beschreibt, wie Sie Apache Tomcat in die Überwachung mit Verax NMS aufnehmen, JMX- und HTTP-Sensoren konfigurieren, Performance-Counter anlegen und Alarmierungsregeln definieren. Enthalten sind Konfigurationsbeispiele, eine Checkliste für die produktive Überwachung, Troubleshooting-Schritte und Empfehlungen zur Sicherheit.

Worum es geht

Dieses Dokument erklärt schrittweise, wie Sie eine Apache Tomcat-Instanz in Verax NMS hinzufügen, welche Sensoren zur Verfügung stehen, wie JMX auf Tomcat zu konfigurieren ist und wie Sie Alarme und Benachrichtigungen sinnvoll einrichten. Es richtet sich an Systemadministratoren, DevOps- und SRE-Teams.

Wichtige Begriffe in einer Zeile

  • JMX: Java Management Extensions, Remote-Verwaltungsschnittstelle für Java-Anwendungen.
  • MBean: Management Bean, Objekt, das über JMX verwaltbare Attribute und Operationen bereitstellt.
  • Sensor: Aktiver Monitor in Verax NMS, der einen Dienst periodisch abfragt.

Übersicht und Werkzeuge

In dieser Anleitung behandeln wir folgende Schritte:

  • Tomcat in die Geräteliste aufnehmen
  • Verfügbarkeits-Sensoren und Performance-Counter konfigurieren
  • Tomcat-Plugin und JMX-Optionen
  • Alarme und Benachrichtigungsrichtlinien einrichten

Verwendete Werkzeuge:

Voraussetzungen

  • Administratorzugang zu Verax NMS.
  • SSH- oder Konsolenzugriff auf den Tomcat-Server, um Java-Startparameter zu ändern.
  • Falls JMX remote genutzt wird: Netzwerkverbindung vom NMS-Server zum Tomcat-JMX-Port.

Wichtiger Hinweis

Konfigurieren Sie JMX immer so sicher wie möglich. Deaktivieren Sie den optionalen Remote-Zugriff nicht in produktiven Umgebungen ohne Authentifizierung oder TLS, es sei denn, Sie betreiben das System isoliert im privaten Netz.

Tomcat zu Inventar hinzufügen

Schritt-für-Schritt-Anleitung für Verax NMS:

  1. Melden Sie sich in Verax NMS an und wählen Sie im Hauptmenü die Ansicht Startseite.
  2. Wählen Sie in der linken Aspektansicht das Gerät, auf dem Tomcat läuft.

Baum mit Aspekten und Hosts

  1. Im Tab Zusammenfassung wählen Sie unter Aktionen die Option Anwendungen verwalten.

Schaltfläche Anwendungen verwalten im Zusammenfassungs-Tab

  1. Ein Dialogfeld erscheint.

Dialogfenster zum Verwalten von Anwendungen

  1. Wählen Sie Im Kontextmenü Anwendung hinzufügen und klicken Sie auf Weiter. Es öffnet sich ein weiteres Dialogfenster.

Auswahl der Anwendungstypen

  1. Wählen Sie Apache Tomcat aus der Liste der Anwendungstypen.

Felder, die typischerweise ausgefüllt werden müssen:

  • Instanzname – Freier Name zur Beschreibung der überwachten Instanz.
  • Host – Adresse (meist IP) des Geräts, auf dem Tomcat ausgeführt wird.
  • Port – Port des Anwendungservers (z. B. 8080).
  • Benutzer – Nutzername, falls vom Plugin benötigt.
  • Passwort – Passwort für den Zugriff.
  • JMX-Verbindung – JMX-URL (z. B. service:jmx:rmi:///jndi/rmi://HOST:PORT/jmxrmi).
  • JMX-Benutzer
  • JMX-Passwort

Hinweis: Die benötigten Parameter hängen vom ausgewählten Anwendungstyp ab.

  1. Speichern Sie die Angaben mit Änderungen speichern.
  2. Das System fragt, ob ein Standardsatz an Sensoren und Zählern hinzugefügt werden soll. In dieser Anleitung fügen wir Sensoren manuell hinzu, daher klicken Sie auf Nein.
  3. Die neu hinzugefügte Tomcat-Instanz erscheint nun im Aspektbaum unter dem Host im Bereich Managed Applications.

Tomcat-Instanz im Aspektbaum

Übersicht der Überwachungsmöglichkeiten

  • On-Demand-Informationen über Ansicht Erweiterte Ansicht im Tab Zusammenfassung.
  • Performance-Daten durch JMX-Counter oder vorgefertigte JMX-Vorlagen.
  • Verfügbarkeitsprüfung per JMX-basierten Sensor.
  • Web-Anwendungs-Health und User-Experience per HTTP-Sensor.

Sensoren für Apache Tomcat hinzufügen

Tomcat-Monitoring in Verax NMS nutzt primär das JMX-Protokoll. JMX muss hierzu auf dem Tomcat-Server aktiviert und korrekt konfiguriert werden. Typische Java-Startparameter sind:

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

Weitere Details finden Sie in der Tomcat-Dokumentation: http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html

Sicherheits-Reminder

Für produktive Systeme sollten Sie folgende Optionen ernsthaft in Betracht ziehen:

  • JMX-Authentifizierung aktivieren.
  • TLS/SSL für JMX-Verbindungen nutzen.
  • Zugriff per Firewall oder VPN einschränken.

Wie Sensoren funktionieren

Sensoren sind aktive Monitore, die Dienste periodisch abfragen. Wenn eine erwartete Antwort eintrifft, gilt der Dienst als verfügbar. Zeitüberschreitungen oder unerwartete Antworten markieren den Dienst als nicht verfügbar.

Standard-Sensortypen für Tomcat

  • JMX Operation – Prüft, ob eine bestimmte Operation eines MBean ein Ergebnis liefert.
  • JMX Attribute – Prüft, ob ein Attribut eines MBean einen Wert zurückgibt.
  • HTTP – Prüft, ob ein HTTP/HTTPS-Endpunkt mit einem erwarteten Antwortcode reagiert und optional, ob der Antworttext ein Muster enthält.

Sensor hinzufügen – Schritte

  1. Wählen Sie das Gerät im Aspektbaum in der Startansicht.
  2. Wechseln Sie zum Tab Monitore und klicken Sie oben rechts auf Sensorliste.
  3. Wählen Sie Hinzufügen aus dem globalen Aktionsmenü und klicken Sie auf Weiter.

Wizard zum Hinzufügen eines Sensors

  1. Wählen Sie den gewünschten Sensortyp und Weiter.

Auswahl des Sensortyps

  1. Füllen Sie die Sensorkonfiguration aus und klicken Sie auf Fertigstellen. Nach dem Hinzufügen erscheint der Sensor in der Sensorliste.

Empfohlene JMX-Counter und MBeans

Typische MBeans und Attribute, die sich zur Performance-Überwachung eignen:

  • java.lang:type=Memory – HeapMemoryUsage, NonHeapMemoryUsage
  • java.lang:type=Threading – ThreadCount, PeakThreadCount
  • Catalina:type=GlobalRequestProcessor,name=”http-nio-8080” – requestCount, errorCount, processingTime
  • Catalina:type=ThreadPool,name=”http-nio-8080” – currentThreadsBusy, maxThreads
  • Catalina:type=Manager,* – activeSessions

Empfehlung: Beginnen Sie mit 8–12 Schlüsselmetriken (Heap, Threads, Request-Latenz, akt. Sessions) und erweitern Sie gezielt.

Alarmierung und Benachrichtigungsrichtlinien

Grundprinzipien für sinnvolle Alarme

  • Verwenden Sie abgestufte Schweregrade: Warnung (Warn), kritisch (Critical) und Ausfall (Down).
  • Vermeiden Sie zu empfindliche Schwellwerte, um Alarmmüdigkeit zu minimieren.
  • Kombinieren Sie Metriken: Heap-Anstieg + erhöhte Garbage-Collection-Frequenz ist aussagekräftiger als nur Heap-Einbruch.
  • Definieren Sie Eskalationspfade und Zeitfenster für Wiederholungen.

Beispiel-Schwellenwerte (als Startpunkt, an die Umgebung anpassen):

  • Heap-Auslastung > 80% für 5 Minuten: Warnung
  • ThreadCount > 90% der Kapazität: Warnung
  • Request-Latenz (95. Perzentil) > 2s für 5 Minuten: Kritisch
  • HTTP-Fehlerquote > 5% für 10 Minuten: Kritisch

Benachrichtigungsrichtlinien

  • E-Mail an Oncall-Team + Slack-Integration bei kritischen Events.
  • Quiet-Hours berücksichtigen: Nur Pager/Nachrichten außerhalb der Geschäftszeiten für kritische Events.
  • Automatische Eröffnungsregel in Ticketsystem bei kritischen Problemen.

Plugin- und Konfigurationsüberblick

Das Tomcat-Plugin in Verax NMS stellt standardisierte Vorlagen für JMX-Counter und Sensoren bereit. Prüfen Sie folgende Punkte:

  • Verbindungstests: Testen Sie die JMX-URL und Zugangsdaten über das Plugin.
  • Vorlagen: Nutzen Sie vorgefertigte Templates als Ausgangspunkt.
  • Polling-Intervalle: Für kritische Metriken 30–60 Sekunden, für langsamer veränderliche Werte 5–15 Minuten.

Playbook: Onboarding einer neuen Tomcat-Instanz

  1. Einrichtung
  • Host ins Verax NMS aufnehmen.
  • Tomcat-Instanz als Anwendung hinzufügen.
  • JMX-Verbindung testen.
  1. Baseline-Metriken erfassen
  • 48–72 Stunden Rohdaten sammeln, um typische Schwellenwerte festzulegen.
  1. Sensoren & Alarme
  • Basis-Sensoren (Heap, Threads, Request-Count, Error-Rate) hinzufügen.
  • Schwellenwerte anhand der Baseline definieren.
  1. Dokumentation
  • Konfiguration, Benutzer, Ports und Notfallkontakte dokumentieren.
  1. Review
  • Nach 1 Woche Alarmverhalten reviewen und anpassen.

Troubleshooting-Runbook bei Ausfällen

  1. Prüfung JMX-Verbindung
  • Testen Sie die JMX-URL lokal vom NMS-Server (telnet HOST PORT oder jconsole).
  • Prüfen Sie Firewall-Regeln und netstat auf Zielhost.
  1. Logs prüfen
  • Tomcat-Logs (catalina.out, localhost.*.log) und GC-Logs ansehen.
  1. Ressourcen überprüfen
  • CPU, RAM, Disk I/O und Netzwerkauslastung prüfen.
  1. Sensor-Fehlermeldungen analysieren
  • Timeouts → Polling-Interval erhöhen oder Netzwerk analysieren.
  • Unerwartete Werte → Prüfen, ob MBean-Namen oder Attribute geändert wurden.
  1. Rollback
  • Falls Konfigurationsänderung am Tomcat die Ursache ist, rollen Sie die Änderung zurück und beobachten die Sensoren.

Checkliste für den Betrieb

  • JMX sicher konfiguriert (TLS/Authentifizierung oder isoliertes Netzwerk)
  • Basis-Sensoren angelegt (Heap, Threads, HTTP-Health)
  • Alerts mit Eskalationspfad definiert
  • Polling-Intervalle und Retention eingestellt
  • Dokumentation und Kontakte gepflegt

Wann Monitoring fehlschlägt und Gegenmaßnahmen

  • Falsche JMX-URL: Überprüfen Sie die exakte service:jmx-URL und Portzuweisung.
  • Firewall-Blocking: Öffnen Sie nur den benötigten Port zwischen NMS und Tomcat.
  • Authentifizierungsprobleme: Testen Sie Zugangsdaten mit einem JMX-Client.
  • Performance-Overhead: Zu kurzes Polling-Intervall kann Server belasten; fassen Sie Metriken zusammen oder erhöhen Sie Intervalle.

Migrations- und Kompatibilitätshinweise

  • JMX-URLs und MBean-Namen können zwischen Tomcat-Versionen variieren; prüfen Sie die Dokumentation der jeweiligen Tomcat-Version.
  • Achten Sie bei Upgrades auf JVM-Änderungen (z. B. GC-Verhalten), die Monitoring-Schwellen beeinflussen können.

Sicherheit und Datenschutz

  • Schützen Sie JMX-Zugangsdaten wie reguläre Credentials.
  • Beschränken Sie die Weitergabe von Log- oder Metrikdaten, wenn personenbezogene Daten im Log erscheinen könnten (GDPR-Hinweis: Logs mit personenbezogenen Daten nur begrenzt und gesichert speichern).

1-Zeilen-Glossar

  • SLI: Service Level Indicator – Messgröße zur Darstellung eines Service-Levels.
  • SLO: Service Level Objective – Zielwert für einen SLI.
  • RMI: Remote Method Invocation – Java-Technik, die oft bei JMX-Remote-Verbindungen verwendet wird.

Fazit

Eine strukturierte Überwachung von Apache Tomcat mit Verax NMS basiert auf stabilen JMX-Verbindungen, einer kleinen Anzahl aussagekräftiger Metriken und umsichtiger Alarmierung. Sammeln Sie zuerst eine Baseline, automatisieren Sie sinnvolle Alarme und sichern Sie JMX-Verbindungen.

Wichtige Hinweise

  • Beginnen Sie klein und erweitern Sie schrittweise.
  • Pflegen Sie Dokumentation und Eskalationswege.
  • Überprüfen Sie Alarmregeln regelmäßig.

Zusammenfassung

  • Tomcat über JMX und HTTP überwachen.
  • Basis-Sensoren zuerst konfigurieren, dann erweitern.
  • JMX sicher betreiben und Alarme vernünftig staffeln.
Autor
Redaktion

Ähnliche Materialien

Podman auf Debian 11 installieren und nutzen
DevOps

Podman auf Debian 11 installieren und nutzen

Apt-Pinning: Kurze Einführung für Debian
Systemadministration

Apt-Pinning: Kurze Einführung für Debian

FSR 4 in jedem Spiel mit OptiScaler
Grafikkarten

FSR 4 in jedem Spiel mit OptiScaler

DansGuardian + Squid (NTLM) auf Debian Etch installieren
Netzwerk

DansGuardian + Squid (NTLM) auf Debian Etch installieren

App-Installationsfehler auf SD-Karte (Error -18) beheben
Android

App-Installationsfehler auf SD-Karte (Error -18) beheben

Netzwerkordner mit KNetAttach in KDE
Linux Netzwerk

Netzwerkordner mit KNetAttach in KDE