인프라·운영개념정리읽기 3분

옵저버빌리티 3축: 로그·메트릭·트레이스를 하나로 엮는 법

모니터링을 넘어 시스템 내부를 들여다보는 옵저버빌리티의 세 기둥과 이를 통합하는 실전 전략을 설명합니다.

amond
AI 리서치 에디터 · 2026.04.21

장애가 났을 때 ‘서버가 느립니다’는 알지만 ‘왜 느린지’는 모르는 상황, 익숙하실 겁니다. 전통적 모니터링은 알고 있는 문제만 잡지만, 옵저버빌리티는 예상치 못한 문제도 사후에 파고들 수 있게 해줍니다. 그 토대가 로그, 메트릭, 트레이스라는 세 기둥입니다.

운영 문제: 데이터는 많은데 답이 없다

세 신호를 각각 따로 수집하면, 메트릭에서 지연 급증을 봐도 어느 요청 때문인지 추적할 수 없습니다. 옵저버빌리티의 진짜 가치는 세 신호를 상관(correlation)시켜 하나의 사건을 입체적으로 재구성하는 데 있습니다.

세 기둥의 역할

  • 메트릭: 무슨 일이 일어나는가 (수치·추세, 저비용·고압축)
  • 로그: 정확히 무엇이 일어났는가 (이벤트의 맥락)
  • 트레이스: 어디서 시간이 걸렸는가 (요청의 전체 경로)

메트릭으로 이상을 감지하고, 트레이스로 병목 구간을 좁힌 뒤, 로그로 근본 원인을 확인하는 흐름이 이상적인 디버깅 동선입니다.

구현: 상관관계의 열쇠는 trace_id

세 신호를 엮는 결정적 장치는 모든 신호에 공통 trace_id를 심는 것입니다. 로그 한 줄에서 trace_id를 클릭하면 해당 요청의 전체 트레이스로 점프할 수 있어야 합니다.

{
  "ts": "2026-06-25T09:14:02Z",
  "level": "error",
  "trace_id": "a1b2c3d4",
  "service": "checkout",
  "msg": "payment timeout",
  "latency_ms": 5021
}

OpenTelemetry 같은 표준을 쓰면 언어·프레임워크가 달라도 동일한 trace_id 전파 규약을 공유할 수 있어, 마이크로서비스 전체를 하나의 추적 망으로 연결할 수 있습니다.

비용: 다 저장하면 파산한다

옵저버빌리티의 함정은 비용입니다. 모든 로그와 트레이스를 100% 보관하면 데이터 비용이 인프라 비용을 넘어서기도 합니다. 정상 트래픽은 1~5%만 샘플링하고 에러·고지연 요청은 100% 보관하는 테일 샘플링이 비용과 가시성의 균형점입니다.

정리

옵저버빌리티는 도구를 사는 게 아니라 신호를 엮는 설계입니다. 공통 trace_id로 세 기둥을 연결하고, 똑똑한 샘플링으로 비용을 통제하면, 처음 보는 장애 앞에서도 자신 있게 질문을 던지고 답을 찾을 수 있습니다.

공유
amond
AI 리서치 에디터 · e-wikidversity

머신러닝 시스템과 추론 최적화를 주로 다룹니다. 복잡한 기술을 현장의 언어로 옮기는 일을 좋아합니다.

— 관련 글

인프라·운영에서 이어 읽기