운영 체크리스트
미들웨어 구축, 점검, 장애 대응 시 확인할 항목을 계층별 체크리스트로 정리한다.
목적
이 문서는 공부한 내용을 운영 상황에서 빠르게 확인하기 위한 체크리스트다.
Client -> Web Server -> WAS -> Application -> DBMS
구축 전 확인
| 항목 | 확인 |
|---|
| 도메인 | DNS가 대상 IP를 가리키는가 |
| 포트 | 80/443/8080/DB 포트 사용 계획이 정리되었는가 |
| 방화벽 | 외부 공개 포트와 내부 통신 포트가 구분되었는가 |
| 인증서 | 도메인, 만료일, chain, 개인키 위치가 확인되었는가 |
| WAS | 배포할 Context Path와 포트가 정해졌는가 |
| DB | JDBC URL, 계정, 권한, 접속 허용 범위가 정해졌는가 |
| 로그 | Web/WAS/Application 로그 위치가 정해졌는가 |
Web Server 점검
nginx -t
httpd -t
apachectl configtest
systemctl status nginx
systemctl status httpd
ss -lntp
| 항목 | 확인 |
|---|
| listen | 80/443 포트가 열려 있는가 |
| server_name | 요청 도메인과 매칭되는가 |
| proxy | upstream 주소와 포트가 맞는가 |
| TLS | 인증서와 개인키 경로가 맞는가 |
| log | access/error log에 기록되는가 |
WAS 점검
systemctl status tomcat
ps -ef | grep tomcat
ss -lntp | grep 8080
curl -I http://127.0.0.1:8080
tail -f $CATALINA_BASE/logs/catalina.out
| 항목 | 확인 |
|---|
| process | Tomcat이 실행 중인가 |
| Connector | 8080/AJP 등 필요한 포트가 열려 있는가 |
| deploy | WAR가 정상 배포되었는가 |
| Context | URL과 Context Path가 맞는가 |
| JVM | heap, GC, OOM 설정이 적절한가 |
| log | catalina/application log가 남는가 |
DB 연동 점검
nc -vz db.example.internal 3306
telnet db.example.internal 1521
ss -antp | grep 3306
| 항목 | 확인 |
|---|
| network | WAS 서버에서 DB 포트까지 접근 가능한가 |
| account | 계정/비밀번호/권한이 맞는가 |
| pool | maximum pool size가 DB 제한과 맞는가 |
| timeout | connection/read timeout이 설정되어 있는가 |
| query | slow query나 lock이 없는가 |
장애 대응 순서
- 사용자 증상, URL, 시간, 재현 조건을 확인한다.
- DNS와 외부 포트 접근을 확인한다.
- Web Server access/error log를 확인한다.
- Web Server에서 WAS 포트로 직접
curl한다.
- WAS process, port, catalina log를 확인한다.
- Application log에서 stack trace를 확인한다.
- DB 연결, connection pool, slow query를 확인한다.
- OS 리소스, disk, memory, file descriptor를 확인한다.
상태 코드별 빠른 분기
| 상태 | 먼저 볼 곳 |
|---|
| 접속 불가 | DNS, 방화벽, security group, listen |
| 404 | URL path, Web rewrite, Tomcat Context |
| 500 | application log, DB, env, permission |
| 502 | upstream, WAS port, process, firewall |
| 503 | backend down, health check, maintenance |
| 504 | timeout, WAS thread, DB query, external API |
변경 작업 전후
| 시점 | 확인 |
|---|
| 변경 전 | 설정 백업, 현재 포트/프로세스/로그 확인 |
| 변경 중 | syntax test, 영향 범위 확인 |
| 변경 후 | reload/restart 결과, access log, error log 확인 |
| 롤백 | 원복 파일, 서비스 재시작, 정상 요청 확인 |
관련 블로그 기록
닫기 전 질문
- 지금 장애는 어느 계층부터 확인해야 가장 빠른가?
- 설정 변경 전 원복 방법은 준비되어 있는가?
- 정상 기준값을 알고 있는가, 아니면 장애 상태만 보고 있는가?