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:
- Apache Tomcat: http://tomcat.apache.org/
- Freies Monitoring-Tool (Verax NMS express): http://www.veraxsystems.com/en/products/nms
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:
- Melden Sie sich in Verax NMS an und wählen Sie im Hauptmenü die Ansicht Startseite.
- Wählen Sie in der linken Aspektansicht das Gerät, auf dem Tomcat läuft.

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

- Ein Dialogfeld erscheint.

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

- 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.
- Speichern Sie die Angaben mit Änderungen speichern.
- 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.
- Die neu hinzugefügte Tomcat-Instanz erscheint nun im Aspektbaum unter dem Host im Bereich Managed Applications.

Ü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=falseWeitere 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
- Wählen Sie das Gerät im Aspektbaum in der Startansicht.
- Wechseln Sie zum Tab Monitore und klicken Sie oben rechts auf Sensorliste.
- Wählen Sie Hinzufügen aus dem globalen Aktionsmenü und klicken Sie auf Weiter.

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

- 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
- Einrichtung
- Host ins Verax NMS aufnehmen.
- Tomcat-Instanz als Anwendung hinzufügen.
- JMX-Verbindung testen.
- Baseline-Metriken erfassen
- 48–72 Stunden Rohdaten sammeln, um typische Schwellenwerte festzulegen.
- Sensoren & Alarme
- Basis-Sensoren (Heap, Threads, Request-Count, Error-Rate) hinzufügen.
- Schwellenwerte anhand der Baseline definieren.
- Dokumentation
- Konfiguration, Benutzer, Ports und Notfallkontakte dokumentieren.
- Review
- Nach 1 Woche Alarmverhalten reviewen und anpassen.
Troubleshooting-Runbook bei Ausfällen
- 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.
- Logs prüfen
- Tomcat-Logs (catalina.out, localhost.*.log) und GC-Logs ansehen.
- Ressourcen überprüfen
- CPU, RAM, Disk I/O und Netzwerkauslastung prüfen.
- Sensor-Fehlermeldungen analysieren
- Timeouts → Polling-Interval erhöhen oder Netzwerk analysieren.
- Unerwartete Werte → Prüfen, ob MBean-Namen oder Attribute geändert wurden.
- 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.
Ähnliche Materialien
Podman auf Debian 11 installieren und nutzen
Apt-Pinning: Kurze Einführung für Debian
FSR 4 in jedem Spiel mit OptiScaler
DansGuardian + Squid (NTLM) auf Debian Etch installieren
App-Installationsfehler auf SD-Karte (Error -18) beheben