Szkolenie Apache Tomcat – Troubleshooting i diagnostyka jest przeznaczone dla administratorów, inżynierów DevOps oraz specjalistów utrzymujących środowiska produkcyjne oparte na Apache Tomcat.
Jego celem nie jest omawianie podstawowej konfiguracji serwera, lecz pokazanie, jak skutecznie diagnozować problemy, gdy Tomcat lub działająca na nim aplikacja przestają funkcjonować prawidłowo.
Podczas szkolenia uczestnicy poznają uporządkowaną metodykę analizy awarii i problemów wydajnościowych – od klienta i warstwy sieciowej, przez load balancer, reverse proxy i Connector Tomcat, aż po wątki aplikacyjne, pule JDBC oraz bazę danych. Dzięki temu uczą się nie tylko rozpoznawać symptomy problemu, ale również lokalizować rzeczywistą przyczynę awarii.
W trakcie zajęć analizowane są typowe problemy spotykane w środowiskach produkcyjnych: brak możliwości uruchomienia lub zatrzymania serwera, błędy wdrażania aplikacji, konflikty bibliotek i classloaderów, `OutOfMemoryError`, blokady i zakleszczenia wątków, wyczerpanie puli połączeń JDBC, timeouty, problemy sieciowe oraz błędy HTTP 502, 503 i 504.
Duży nacisk położony jest na praktyczne wykorzystanie narzędzi diagnostycznych, takich jak `jcmd`, `jstack`, `jmap`, Java Flight Recorder, Java Mission Control, VisualVM, `ss`, `lsof`, `tcpdump`, `curl` czy `openssl`.
Szkolenie ma charakter warsztatowy. Uczestnicy pracują z rzeczywistymi scenariuszami awarii i uczą się prowadzić diagnostykę krok po kroku: od zebrania objawów i danych, przez postawienie hipotezy, aż po identyfikację przyczyny i potwierdzenie rozwiązania.
Celem szkolenia Apache Tomcat – Troubleshooting i diagnostyka problemów jest przygotowanie uczestników do samodzielnego i metodycznego rozwiązywania problemów w środowiskach Apache Tomcat, szczególnie w sytuacjach, w których sama analiza logów nie wystarcza.
Problemy procesowe
- Tomcat nie startuje
- Tomcat nie zatrzymuje się
- port already in use
- problemy z PID
- problemy z prawami
- systemd
Problemy z aplikacją
- deploy failure
- `ClassNotFoundException`
- `NoClassDefFoundError`
- `LinkageError`
- conflicts bibliotek
- classloadery Tomcat
Problemy z pamięcią
- `OutOfMemoryError`
- Java Heap Space
- Metaspace
- Direct Buffer Memory
- native memory
Problemy z wątkami
- deadlock
- blocked threads
- starvation
- runaway thread
- analiza thread dumpów
Problemy JDBC
- connection pool exhausted
- database unavailable
- validation query
- connection leaks
Sieć
- timeout
- reset
- broken pipe
- 502 / 503 / 504
- keep-alive
Narzędzia
- `jcmd`
- `jstack`
- `jmap`
- JFR
- JMC
- VisualVM
- `ss`
- `lsof`
- `tcpdump`
- `curl`
- `openssl`
Case studies