← 전체 글로 돌아가기

서버 운영

서버의 헬스 체크가 실패할 때

서버 문제를 크게 잡으면 모든 파일이 의심스러워진다. 작은 단위로 나누어서 확인하자.

서버 운영 중에 헬스 체크가 실패하면, 문제를 크게 잡으면 모든 파일이 의심스러워져서 손대기 어려워진다. 한 단어만 붙잡지 않고 전체 흐름에서 원인을 좁혀야 한다.

검색으로 들어온 상황이라면

정상 상태를 먼저 정해 두는 게 좋다. 그래야 권한이나 프로세스 상태가 맞는지 빠르게 판단할 수 있다.

첫 번째 단서 찾기

서버 문제가 반복된다면, 확인 순서를 고정해 두는 편이 낫다. 매번 다르게 접근하면 같은 실수를 반복하게 된다.

  • 먼저 볼 값: 시간대와 시스템 로그
  • 같이 비교할 값: 정상 상태와 비교
  • 남겨둘 기록: 시스템 명령 출력, HTTP 상태 코드, 수정 내역

기본 확인 명령어

포트가 열려 있는지, 프로세스가 실행 중인지 먼저 확인하자.

sudo ss -lntp
df -h
sudo journalctl -n 80

이 세 명령으로 포트 상태, 디스크 사용량, 시스템 로그를 한 번에 볼 수 있다.

직접 요청해 보기

Headless 방식으로 헬스 체크 엔드포인트에 직접 요청해 보면, 뭐가 안 되는지 명확해진다. 응답이 있는지, 응답 코드가 뭔지 확인하자.

권한 확인하기

프로세스를 실행하는 계정, 로그 파일의 소유자, 디렉토리 권한이 맞는지 확인해 보자.

수정 후 다시 확인하기

바꾼 뒤에 실제로 상태가 정상으로 돌아왔는지 확인하자. 경우에 따라 헬스 체크가 다시 나을 때까지 기다려야 할 수도 있다.

  1. 원래 증상이 같은 조건에서 다시 나는지 확인한다.
  2. 로그나 응답에서 바뀐 부분을 한 줄로 설명해 본다.
  3. 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.

다시 터지지 않으려면

한 번에 여러 설정을 바꾸지 않는 것만으로도 원인 추적이 쉬워진다. 관련 기록을 남겨 두면, 다음에 대응할 때 훨씬 빠르다.