콘텐츠로 이동

13. 다운을 고객이 먼저 알게 하지 마라

새벽에 인증서가 만료됐다. 아침에 고객 문의로 안다. “어제부터 안 됐어요”라는 말을 고객에게 듣는 순간, 기술 문제는 신뢰 문제가 된다. 로그는 쌓이고 있었지만 아무도 보고 있지 않았다 — 로그는 알림이 아니다.

5번(로그)이 사후 조사 수단이라면, 모니터링은 실시간 탐지 수단이다. 서로 대체하지 못한다. “서비스가 죽으면 고객보다 내가 먼저 안다”가 충족되면 합격이다.

  • 외부 업타임 체크를 하나 건다. 무료 티어로 충분하다 — 1~5분 간격으로 핵심 URL을 찔러 실패하면 알림. 내 서버 안에서 자기를 감시하면 서버가 죽을 때 감시도 같이 죽는다.
  • 체크 대상은 랜딩만이 아니라 핵심 경로다: 로그인 페이지, API 헬스 엔드포인트(/healthz — DB 연결까지 확인해서 200), 결제 진입점.
  • 런타임 에러가 임계 이상 발생하면 알림이 오게 한다. 에러 추적 도구의 무료 티어면 충분하다.
  • 알림 채널을 실제로 보는 곳(폰 푸시, 메신저)에 연결하고, 테스트 알림을 한 번 보내 끝까지 도달하는지 확인한다.
  • 인증서·도메인 만료는 자동 갱신이어도 만료 감시를 건다. 자동 갱신은 조용히 실패한다.
  • 외부 업타임 체크가 핵심 경로에 걸려 있다
  • /healthz류 헬스 엔드포인트가 DB까지 확인한다
  • 에러 급증 알림이 폰까지 도달한다 (테스트 발송 완료)
  • 인증서·도메인 만료 감시가 있다