웹 개발
헬스 체크 로그가 많을 때는 어디부터 봐야 할까
서버 운영 중 헬스 체크 문제에 마주치면 증상 하나로 판단하기 쉽다. 실제로 원인을 좁히려면 로그와 설정을 함께 봐야 한다.
증상과 원인을 분리해서 보기
헬스 체크 장애는 보통 여러 원인이 복합적으로 작용한다. 내 경험상 가장 흔한 실수는 첫 번째 에러 메시지만 보고 판단하는 것이다. 실제로는 디스크 부족, 권한 문제, 포트 충돌 중 어느 것이 진짜 원인인지 구분해야 한다.
먼저 정상 상태를 알아야 한다. 같은 서버에서 최근에 헬스 체크가 성공했던 시점의 로그를 기준으로 삼으면 어떤 부분이 달라졌는지 찾기 쉽다.
확인 순서
# 1. 디스크 상태 먼저 확인
df -h
# 2. 열려있는 포트 확인
sudo ss -lntp
# 3. 최근 로그 보기
sudo journalctl -n 100
디스크가 80% 이상 찼다면 나머지는 봐도 의미가 없다. 포트 충돌이 있으면 프로세스 자체가 뜨지 않으므로 권한 문제로 오인하기 쉽다.
로그에서 무엇을 찾을 것인가
로그를 읽을 때는 에러 라인 자체보다 그 직전의 맥락이 중요하다. "Connection refused"라는 에러가 나면 포트 바인딩 실패이고, "Permission denied"라면 파일 접근 권한 문제다.
나는 확인한 내용을 메모에 남기는 습관이 생겼다. 예를 들어:
- 확인 시간: 2024-06-24 14:30
- 디스크: /root 78% 사용
- 포트 22: SSH 정상
- 에러: /var/log/syslog에서 접근 거부
이렇게 기록하면 나중에 비슷한 문제가 나왔을 때 비교하기 좋다.
다음에 비슷한 문제가 나면
하나의 설정을 바꾸고 바로 다시 테스트하는 게 핵심이다. 여러 것을 동시에 건드리면 무엇이 효과가 있었는지 알 수 없다. 작은 확인을 기록해두면 다음 문제 해결이 훨씬 빨라진다.