서버 운영
배치 작업이 운영 서버에서만 실패할 때 확인 순서
로컬에서는 정상이던 배치 작업이 운영 서버에서 터진다면, 환경 차이를 체계적으로 확인해야 한다. 순서대로 확인할 사항들을 정리했다.
배치 작업이 운영 서버에서만 실패한다면, 먼저 의심 범위를 좁히는 것이 중요하다. 문제를 너무 크게 잡으면 모든 파일이 의심스러워서 손 댈 곳을 못 찾는다.
핵심은 재현 가능한 단서를 먼저 모으는 것이다. 로그, 응답, 환경 차이 같은 눈으로 확인할 수 있는 값부터 시작한다.
환경 차이 파악하기
로컬과 운영은 다르다. 배치 작업이 서버에서만 실패한다면 먼저 기본적인 상태부터 확인하자.
sudo ss -lntp
df -h
sudo journalctl -n 80
포트는 열려있나, 디스크는 충분한가, 최근 로그에는 뭐가 있나. 이 세 가지는 항상 먼저 본다.
로그 읽기
운영 환경의 로그는 가장 정직한 증거다. 배치 작업이 언제 어떻게 실패했는지 로그에 다 남는다.
같은 조건에서 다시 배치를 실행해보고, 로그에서 바뀐 부분을 한 줄로 설명할 수 있는지 확인한다. 만약 설명할 수 없다면 아직 원인을 찾지 못한 것이다.
권한과 환경변수 확인
배치 작업은 특정 사용자로 실행된다. 권한이 없으면 실패한다. 환경변수도 마찬가지다. 로컬에서는 설정했지만 서버에서는 빠진 것이 있을 수 있다.
- 실제로 같은 조건에서 증상이 다시 나타나는지 확인한다.
- 로그나 응답에서 어떤 값이 달라졌는지 정확히 설명한다.
- 공개 환경, 빌드 결과, 실제 요청 중 하나로 최종 확인한다.
남길 기록의 중요성
배치 작업 문제를 해결한 후가 중요하다. 어떤 값이 달라졌는지, 뭘 고쳤는지 기록해두면 다음 확인이 훨씬 빨라진다. 다음에 비슷한 증상이 나올 때 이 기록이 큰 도움이 된다.