**Observability(관측성)**는 시스템의 외부 출력 — 로그(logs), 메트릭(metrics), 트레이스(traces) — 으로부터 내부 상태를 이해하는 능력입니다. 시스템(특히 분산 시스템)을 운영, 디버깅, 유지보수하는 데 필수적이며, 볼 수 없는 것은 관리할 수 없습니다.
observability의 세 기둥
로그 → 이벤트의 타임스탬프 기록 (무엇이 일어났는가) → 상세, 특정 문제 디버깅용
메트릭 → 시간에 따른 수치 측정 (CPU, latency, 요청률, 오류율) →
집계된 상태/성능; 대시보드; 알림
트레이스 → 요청이 시스템(서비스 간)을 통과하는 경로를 추적 → 흐름 이해,
분산 시스템에서 병목/장애 찾기 (어떤 서비스가 느렸나?)
→ 함께: 무엇이 일어났는지, 전반적 상태, 요청의 경로를 이해.
