본문 바로가기
DevOps/Monitoring, Observability

Monitoring(모니터링) vs Observability(옵저버빌리티)

by 방배킹 2025. 7. 28.

 

 

서비스를 운영할때 단순히 서비스가 동작중인지 확인하는것을 넘어, 문제가 발생했을때 왜 해당 문제가 발생했는지 파악해 빠르게 대응하는것은 중요하다.

이때 핵심이 되는 개념이 바로 모니터링(Monitoring)과 옵저버빌리티(Observability) 이다.

모니터링(Monitoring)

모니터링이란 무엇이 언제 잘못되었는지 확인하는 도구이다. (What 과 When)

정의

모니터링은 시스템에서 발생하는 다양한 지표를 수집하고 감시해서 이상 징후를 빠르게 탐지하고 알림을 전송하는 프로세스이다.

예시

  • 갑작스러운 트래픽 증가 시, CPU와 RAM 등의 리소스 부족으로 인해 장애를 사전에 감지한다
  • 장애 발생 시, 이를 빠르게 인지하여 평균 탐지 시간(MTTD)과 복구시간(MTTR)을 최소화한다.

주요 목적

  • 가용성 확인(Availability): 서비스의 정상 동작 여부, 다운타임 여부 실시간 확인
  • 성능 추적(Performance): CPU, Memory, Disk IO DB Connection 등 주요 매트릭 수집
  • 장애 탐지 및 알림: 특정 임게값 초과 시 알림 전송

구성 요소

  1. 데이터 수집기
    • Push 방식 : 각 서비스가 직접 서버에 데이터를 보내는 방식
    • Pull 방식 : 서버가 주기적으로 타겟으로 부터 데이터 수집
  2. 매트릭 저장소
    • 시계열 데이터를 저장 (ex. Prometheus, InfluxDB)
  3. 시각화 도구
    • 대시보드로 시각화 (ex. Grafana, Kibana)
  4. 알림 시스템
    • 이상 탐지 시 알림 전송

장점 및 한계

  • 장점: 오픈소스 도구로 빠르게 구축 가능하다, 짧은 시간 내 시각화 환경까지 구축 가능하다.
  • 단점: 단순히 “이상이 있다”는 것 까지만 파악 가능하다. 근본 원인을 파악하는것은 어렵다. 특히 MSA 환경에서는 서비스 간 호출 흐름을 추적하기 어렵다.

옵저버빌리티(Observability)

앞서 모니터링의 단점(한계)으로 원인 파악 및 흐름 추적이 어렵다고 언급했었다. 옵저버비리티는 그리고 어떻게 문제가 발생헀는지 분석하는 방식이다. (Why와 How)

정의

옵저버빌리티는 단순한 지표 수집을 넘어, 시스템 내부 상태를 이해하고 문제의 근본 원인을 분석한다.

모니터링과의 차이

항목 모니터링 옵저버빌리티
목적 문제가 있는지 탐지 문제가 왜 발생했는지 분석
방식 사전 정의된 임계값 기준 전반적인 흐름과 원인 분석
데이터 주로 Metric Metric + Log + Trace

모니터링문제가 있는지 탐지하고 옵저버빌리티왜 문제가 발생했는지 분석한다.

목표

옵저버빌리티의 목표는 아래와 같다.

  • 장애의 근본적인 원인 분석
  • 전체 시스템의 병목 구간 최적화
  • MTTD, MTTR 단축
  • 사용자 행동 분석과 비즈니스 인사이트 도출(흐름 추적이 가능하기 때문)

장점 및 단점

  • 장점
    • 서비스 간 호출 흐름 추적이 가능해 분산 시스템에서 유리하다.
    • 예측, 유지보수, 자동 장애 탐지 기능을 통해 AI/ML과의 통합이 유리하다.
    • Metric + Log + Trace를 통한 심층 분석이 가능하다.
  • 단점
    • 초기 구축이 복잡하다. (다양한 에이전트, 네트워크 연동 필요)
    • 저장소, 분석 리소스 등 데이터 양 많다.

로그(Log), 메트릭(Metric), 트레이스(Trace) 란?

로그, 메트릭, 트레이스는 옵저버벌리티의 핵심 데이터이다.

항목 설명 예시 도구
Metric 수치 기반 시계열 데이터 Prometheus, Thanos
Log 텍스트 기반 이벤트 기록 ELK, Loki
Trace 서비스 간 호출 흐름 추적 OpenTelemetry, Jaeger, Zipkin
  • Metric: CPU, Memory, Disk I/O, 트래픽 등 수치형 성능 지표
  • Log: 예외 및 에러 메시지를 포함한 실행 흐름
  • Trace: 요청별 고유 ID 기반으로 서비스 간 연쇄 호출 흐름 분석

모니터링 vs 옵저버빌리티 간단 요약

모니터링과 옵저버빌리티는 비슷해보이지만 문제 발생 원인 파악 유무 라는 큰 차이점이 있다.

구분 사용하는 데이터 대표 도구
모니터링 Metric 중심 Prometheus, Grafana
옵저버빌리티 Metric + Log + Trace OpenTelemetry, Jaeger, ELK, Loki

결론

모니터링은 빠르고 간단하며 문제 탐지에 특화되어 있고, 
옵저버빌리티는 복잡한 시스템에서 문제의 근본 원인 분석에 특화되어 있다.

서로 상호보완적이며, 시스템 규모와 복잡도에 따라 적절히 병행하여 활용하는 것이 중요하다.

댓글