← 블로그 목록

Developer Knowledge

개발자가 알아야 할 지식: 감사 로그, 호환성을 먼저 생각해야 배포가 조용해진다: 장애 회고에서 드러나는 진짜 질문

감사 로그를 장애 회고, 재발 방지, 운영 지표 관점에서 다시 정리합니다.

OWASP
  • 개발자가 알아야 할 지식
  • Security
  • Compliance
  • Operations

감사 로그는 코드가 커지고 사용자가 늘어날수록 조용히 중요해지는 실무 개념입니다. 처음에는 세부 구현처럼 보이지만, 실제로는 시스템이 실패를 어떻게 다룰지 정하는 기준이 됩니다.

왜 개발자가 알아야 하나

장애가 난 뒤 감사 로그를 보면 단순한 구현 문제가 아니라 팀이 무엇을 약속했고 무엇을 보지 못했는지가 드러납니다.

회고가 개인 실수 찾기로 끝나면 같은 조건이 다시 만들어지고, 다음 장애는 조금 다른 이름으로 반복됩니다.

감사 로그를 회고 언어로 정리하면 재발 방지 항목이 코드 수정, 알림, 문서, 테스트로 나뉘어 실제 개선으로 이어집니다.

핵심 개념

첫 번째는 사건의 시간축입니다. 감사 로그와 관련된 결정, 경고, 실패 응답이 언제 나타났는지 순서대로 봐야 합니다.

두 번째는 감지 가능성입니다. 문제가 커지기 전에 알 수 있었던 신호와 실제로 놓친 신호를 분리해야 합니다.

세 번째는 재발 방지의 소유권입니다. 코드 변경만 적지 말고 대시보드, 런북, 리뷰 체크리스트까지 누가 고칠지 정해야 합니다.

작은 예시 또는 체크리스트

예를 들어 감사 로그 때문에 배치 작업이 지연됐다고 합시다. 회고에서는 왜 지연됐는지만이 아니라, 지연을 언제 알았는지, 사용자는 무엇을 봤는지, 다음에는 어떤 지표가 먼저 울려야 하는지를 함께 적어야 합니다.

  • 감사 로그와 연결된 실패 신호가 로그와 지표에 남았는가?
  • 사용자 영향과 내부 원인을 같은 시간축에서 볼 수 있는가?
  • 재발 방지 항목이 코드, 테스트, 문서, 알림으로 나뉘어 있는가?
  • 같은 조건을 재현하는 작은 테스트나 리허설이 있는가?
  • 다음 당직자가 이 사건을 5분 안에 이해할 수 있는 런북이 있는가?

실무에서 자주 생기는 오해

  • “감사 로그는 나중에 트래픽이 커지면 보면 된다”는 오해가 있습니다. 많은 운영 문제는 작은 규모에서 만든 계약이 그대로 커지면서 생깁니다.

  • “라이브러리가 알아서 해준다”는 생각도 부족합니다. 도구는 메커니즘을 제공하지만 어떤 실패를 허용할지는 서비스가 정해야 합니다.

  • “문제가 생기면 로그를 보면 된다”도 늦습니다. 필요한 필드를 남기지 않은 로그는 장애 순간에 방향을 주지 못합니다.

오늘 바로 적용해보기

최근 장애나 느린 배포 하나를 골라 감사 로그와 연결된 신호가 어디에 있었는지 표시해보세요.

회고 문서의 액션 아이템을 코드 수정 하나로 끝내지 말고 관측 가능성 항목을 하나 이상 추가하세요.

다음 리뷰에서 이 실패가 다시 생기면 어떤 알림이 울릴지 먼저 물어보세요.

더 알아보기

오늘의 takeaway

감사 로그는 장애 뒤에 비난할 대상을 찾는 도구가 아니라, 다음 장애를 더 작게 만드는 회고 언어입니다.