Szkolenie Monitoring Apache Tomcat i JVM – JMX, Prometheus i Grafana jest przeznaczone dla administratorów, inżynierów DevOps oraz osób odpowiedzialnych za utrzymanie środowisk Java opartych na Apache Tomcat.
Celem szkolenia jest pokazanie, jak skutecznie monitorować stan serwera Tomcat, maszyny wirtualnej JVM oraz puli połączeń JDBC, a także jak na podstawie zebranych metryk szybko rozpoznawać symptomy problemów wydajnościowych i awarii.
Podczas szkolenia uczestnicy poznają mechanizmy monitorowania dostępne w Apache Tomcat i JVM, w szczególności JMX oraz udostępniane przez niego MBeans. Omawiane są najważniejsze metryki związane z obsługą żądań HTTP, pulami wątków, sesjami użytkowników, wykorzystaniem pamięci, pracą Garbage Collectora oraz wykorzystaniem połączeń JDBC.
Istotną częścią szkolenia jest praktyczna praca z narzędziami JConsole i VisualVM oraz budowa środowiska monitoringu opartego na architekturze:
Apache Tomcat / JVM → JMX Exporter → Prometheus → Grafana
Uczestnicy poznają zasady eksportowania metryk, ich zbierania i wizualizacji, tworzenia prostych dashboardów oraz definiowania alertów dla najważniejszych parametrów środowiska.
Szkolenie obejmuje również praktyczne scenariusze diagnostyczne. Na podstawie danych z JMX, Prometheus i Grafana uczestnicy analizują m.in. wzrost wykorzystania pamięci, brak wolnych wątków, zwiększający się czas odpowiedzi aplikacji, wyczerpanie puli JDBC czy wzrost liczby błędów HTTP.
Celem szkolenia Monitoring Apache Tomcat i JVM – JMX, Prometheus i Grafana jest przygotowanie uczestników do samodzielnego wdrożenia podstawowego monitoringu Apache Tomcat oraz do właściwej interpretacji metryk pozwalających szybko ocenić kondycję środowiska produkcyjnego.
1. Co monitorować w środowisku Tomcat
- najważniejsze obszary monitoringu
- Tomcat, JVM, JDBC i system operacyjny
- najczęstsze symptomy problemów wydajnościowych
- dobór metryk przydatnych w środowisku produkcyjnym
2. Monitoring Apache Tomcat
- aktywne i dostępne wątki
- liczba połączeń
- liczba obsługiwanych żądań
- czas przetwarzania requestów
- liczba błędów
- aktywne sesje
- Connectory i Executory
Analiza zależności:
Client → Connector → Thread Pool → Application → JDBC
3. JMX w Apache Tomcat
- podstawy Java Management Extensions
- MBeans i domena `Catalina`
- lokalny i zdalny dostęp do JMX
- najważniejsze MBeans:
- `ThreadPool`
- `GlobalRequestProcessor`
- `Manager`
- `Executor`
- `DataSource`
- odczytywanie i interpretacja parametrów Tomcat
4. Monitoring JVM
- heap i metaspace
- Garbage Collector
- liczba i stany wątków
- CPU
- class loading
- podstawowe MBeans JVM:
- `Memory`
- `GarbageCollector`
- `Threading`
- `OperatingSystem`
5. Monitoring JDBC
- active connections
- idle connections
- waiting threads
- maximum pool size
- wyczerpanie puli połączeń
- connection leaks
- interpretacja podstawowych metryk puli JDBC
6. Narzędzia do bieżącej analizy
- JConsole
- VisualVM
- analiza MBeans
- monitoring pamięci
- analiza wątków
- wykonywanie thread dumpów
7. JMX Exporter i Prometheus
Architektura:
Tomcat / JVM → JMX Exporter → Prometheus
- konfiguracja JMX Exporter
- eksport metryk Tomcat i JVM
- podstawowe typy metryk
- podstawy PromQL
- sprawdzanie poprawności zbieranych danych
8. Grafana
- podłączenie Prometheus jako źródła danych
- budowa prostego dashboardu Tomcat
- wizualizacja:
- liczby aktywnych wątków
- liczby requestów
- czasu odpowiedzi
- błędów HTTP
- wykorzystania heap
- aktywności GC
- parametrów JDBC
- interpretacja wykresów
9. Alerting i health checks
- podstawowe zasady tworzenia alertów
- alerty dla:
- wykorzystania pamięci
- liczby aktywnych wątków
- błędów HTTP
- czasu odpowiedzi
- JDBC
- proste health checks aplikacji i Tomcat
- różnica pomiędzy monitoringiem a sprawdzeniem dostępności
10. Warsztaty diagnostyczne
Analiza przykładowych problemów:
- rosnące wykorzystanie heap
- brak wolnych wątków
- wzrost czasu odpowiedzi
- wyczerpana pula JDBC
- wzrost liczby błędów HTTP