backend-interview-guide

로깅 및 모니터링 (Logging & Monitoring)

목차


로깅과 모니터링의 중요성

마이크로서비스 아키텍처(MSA)는 많은 독립적인 서비스로 구성됩니다. 각 서비스는 개별적으로 실행되며, 서로 다른 환경에서 작동할 수 있습니다. 이로 인해 시스템에서 발생하는 오류 추적성능 분석이 어렵습니다.

MSA에서 로깅과 모니터링의 역할

  1. 장애 복구:
    • 서비스 간의 상호작용과 오류를 정확히 추적하여 빠르게 복구 가능.
  2. 성능 최적화:
    • 병목 지점을 발견하고, 리소스 사용량을 최적화.
  3. 운영 효율성 향상:
    • 자동화된 경고와 대시보드로 시스템 상태를 한눈에 파악.

MSA 환경에서 로깅의 특징

1. 분산된 로그 데이터

2. 서비스 간 호출 추적

3. 로그 표준화

4. 컨텍스트 로그 관리


MSA 환경에서 모니터링의 특징

1. 실시간 데이터 수집

2. 서비스 간의 연계성 모니터링

3. 메트릭 기반 경고

4. 대시보드 시각화


분산 로깅 (Distributed Logging)

1. 중앙 집중식 로그 수집

2. 구조화된 로그

분산 트레이싱


분산 모니터링 (Distributed Monitoring)

1. 메트릭 수집

2. 애플리케이션 성능 관리(APM)

3. 알림 설정


주요 도구 및 기술 스택

분류 도구 주요 기능
로깅 ElasticSearch + Logstash + Kibana (ELK) 로그 수집, 저장, 검색, 시각화
  Fluentd 경량 로그 수집기
  Graylog 로그 관리 및 분석
모니터링 Prometheus + Grafana 메트릭 수집 및 대시보드 시각화
  Datadog 통합 모니터링 및 알림 관리
  New Relic 애플리케이션 성능 모니터링
분산 트레이싱 Jaeger 요청 추적 및 분산 트레이싱
  Zipkin 서비스 호출 흐름 추적

MSA 로깅 및 모니터링 도입 시 주의사항

1. 성능 오버헤드 관리

2. 로그 데이터 보안

3. 표준화

4. 확장성

5. 대시보드와 알림 최적화


결론

MSA 환경에서 로깅과 모니터링은 서비스 간 상호작용을 이해하고, 장애를 빠르게 복구하며, 성능을 최적화하는 데 필수적입니다. 중앙 집중화된 로깅과 실시간 모니터링 도구를 적절히 결합하면 복잡한 분산 시스템에서도 운영 효율성을 크게 향상시킬 수 있습니다.