Skip to Content
Infra & DevOps운영 중 로그 레벨을 바꾸는 도구는 왜 필요했나
☁️ Infra & DevOps2020년 4월 6일

운영 중 로그 레벨을 바꾸는 도구는 왜 필요했나

#e-commerce#commerce-platform#operations#logging#infra-devops
Series 3 · Operations / Tooling4 / 4Infra & DevOps
Series 3의 마지막 글입니다. 운영 중 로그 레벨을 바꾸는 도구가 왜 필요한지, 그리고 운영 도구화가 어디까지 가야 하는지 정리합니다.
이전 글: 어드민 세션 관리 기능다음 시리즈: Nike The Draw 운영 구조

운영 중 로그 레벨 조정 도구를 둘 때 함께 봐야 했던 운영 축

운영 중 문제가 발생했을 때 재배포 없이 더 많은 단서를 확보할 수 있다면 대응 속도가 달라집니다. log4j 기반 런타임 동적 로그 레벨 조정 도구가 왜 필요했는지도 그 맥락에서 이해할 수 있습니다.

왜 동적 로그 레벨이 필요했는가

운영 환경에서는 상시로 상세 로그를 많이 남기기 어렵습니다. 로그량이 커지고, 비용이 늘고, 필요한 신호가 오히려 묻힐 수 있기 때문입니다. 하지만 장애나 이상 징후가 보일 때는 반대로 더 많은 단서가 필요합니다.

그래서 유용했던 방식이 “필요한 순간에만 로그 레벨을 높이는 것”이었습니다.

운영자는 늘 두 가지 사이에서 줄타기를 합니다. 평소에는 시스템을 가볍게 유지해야 하고, 문제가 생기면 바로 더 깊은 정보를 봐야 합니다. 동적 로그 레벨 조정은 이 두 요구를 동시에 맞추기 위한 현실적인 타협점이었습니다.

재배포 없이 진단한다는 것

브라우저나 운영 도구를 통해 logger level을 바꿀 수 있게 만든 이유 자체보다 중요한 건 사고방식입니다.

  • 문제가 생겼을 때
  • 운영 중인 서비스를 멈추지 않고
  • 필요한 범위만 관찰 수준을 높여
  • 원인을 더 빨리 좁히는 것

이런 흐름은 운영 로그를 설계할 때부터 고려되어야 합니다.

물론 이런 도구는 무분별하게 쓰면 안 됩니다. 로그를 과하게 올리면 오히려 시스템에 부담을 줄 수 있고, 필요한 신호보다 잡음이 늘어날 수 있습니다. 그래서 중요한 건 “도구가 있다”는 사실보다 “언제, 어떤 범위에서, 얼마나 오래 적용할지”에 대한 운영 기준을 갖는 일입니다.

운영 관점에서 남는 원리

log4j 기반 런타임 동적 로그 레벨 조정 도구를 다시 보면 결국 세 가지 원리가 남습니다.

  1. 상시 로그와 진단용 로그는 분리해서 생각해야 한다.
  2. 운영 중 관찰 수준을 조절할 수 있어야 한다.
  3. 도구가 있다고 끝나는 게 아니라, 어떤 상황에서 어떻게 쓸지 기준이 있어야 한다.

Series 3는 여기서 마무리하고, 다음 시리즈에서는 Nike The Draw와 대량 이벤트 트래픽 운영으로 넘어갑니다. 시작점은 Nike The Draw 운영 구조 다시 읽기입니다.

Last updated on