서버 운영
서버의 헬스 체크가 실패할 때
서버 문제를 크게 잡으면 모든 파일이 의심스러워진다. 작은 단위로 나누어서 확인하자.
서버 운영 중에 헬스 체크가 실패하면, 문제를 크게 잡으면 모든 파일이 의심스러워져서 손대기 어려워진다. 한 단어만 붙잡지 않고 전체 흐름에서 원인을 좁혀야 한다.
검색으로 들어온 상황이라면
정상 상태를 먼저 정해 두는 게 좋다. 그래야 권한이나 프로세스 상태가 맞는지 빠르게 판단할 수 있다.
첫 번째 단서 찾기
서버 문제가 반복된다면, 확인 순서를 고정해 두는 편이 낫다. 매번 다르게 접근하면 같은 실수를 반복하게 된다.
- 먼저 볼 값: 시간대와 시스템 로그
- 같이 비교할 값: 정상 상태와 비교
- 남겨둘 기록: 시스템 명령 출력, HTTP 상태 코드, 수정 내역
기본 확인 명령어
포트가 열려 있는지, 프로세스가 실행 중인지 먼저 확인하자.
sudo ss -lntp
df -h
sudo journalctl -n 80
이 세 명령으로 포트 상태, 디스크 사용량, 시스템 로그를 한 번에 볼 수 있다.
직접 요청해 보기
Headless 방식으로 헬스 체크 엔드포인트에 직접 요청해 보면, 뭐가 안 되는지 명확해진다. 응답이 있는지, 응답 코드가 뭔지 확인하자.
권한 확인하기
프로세스를 실행하는 계정, 로그 파일의 소유자, 디렉토리 권한이 맞는지 확인해 보자.
수정 후 다시 확인하기
바꾼 뒤에 실제로 상태가 정상으로 돌아왔는지 확인하자. 경우에 따라 헬스 체크가 다시 나을 때까지 기다려야 할 수도 있다.
- 원래 증상이 같은 조건에서 다시 나는지 확인한다.
- 로그나 응답에서 바뀐 부분을 한 줄로 설명해 본다.
- 공개 화면, 빌드 결과, 실제 요청 중 하나로 마지막 확인을 한다.
다시 터지지 않으려면
한 번에 여러 설정을 바꾸지 않는 것만으로도 원인 추적이 쉬워진다. 관련 기록을 남겨 두면, 다음에 대응할 때 훨씬 빠르다.