Tomcat(톰캣) 모니터링 방법 — 응답시간·스레드·장애 감지
최종 업데이트: 2026-06-24
Tomcat(톰캣)은 자바 웹 애플리케이션을 구동하는 대표적인 WAS입니다. 톰캣이 느려지거나 멈추면 그 위의 서비스가 곧바로 영향을 받기 때문에, 무엇을 봐야 하는지 미리 정해두는 것이 중요합니다.
꼭 봐야 할 핵심 지표
- 가용성(살아있는가): HTTP 커넥터 포트가 응답하는지 — 가장 기본.
- 응답시간: 평소 대비 느려지면 스레드 고갈·GC·다운스트림(DB 등) 지연의 신호.
- 스레드 풀: 사용 중 스레드가 maxThreads 에 근접하면 요청이 대기/거부됩니다.
- 에러율: 5xx 증가는 애플리케이션 예외나 백엔드 장애를 의미.
톰캣이 실제로 어느 포트에서 도는지 먼저 확인
많은 모니터링 설정이 "8080 고정"으로 잡혀 있어, 톰캣을 다른 포트로 띄웠거나 8080에 다른 서비스가 있으면 오탐이 납니다. 실제 리슨 포트부터 확인하세요.
pgrep -fa catalina # 톰캣 프로세스 확인 ss -tlnp | grep java # 톰캣이 실제로 듣는 포트
흔한 장애 패턴
- 스레드 고갈: 느린 쿼리/외부 호출이 스레드를 오래 점유 → maxThreads 도달 → 신규 요청 지연. DB·외부 API 응답시간을 함께 봐야 원인이 보입니다.
- OOM/잦은 GC: 힙 부족으로 GC가 빈번해지면 응답시간이 출렁입니다.
- 포트는 열렸는데 500만 반환: 프로세스는 살아있어 단순 포트 체크로는 못 잡습니다 — 응답 코드까지 봐야 합니다.
Sentibel로 보면
Sentibel 에이전트는 catalina 프로세스를 찾아 실제 리슨 포트를 자동 탐지하고, 톰캣의 가용성과 응답시간을 수집합니다. 응답시간이 튀면 같은 시점의 OS(CPU·메모리)·DB·네트워크 지표와 함께 인과관계를 추적해, "톰캣이 느린 이유"가 어디서 시작됐는지까지 보여줍니다.