관측성(Observability) 3대 축
📌 핵심 개념
하나의 모니터링 도구로는 부족하다! 세 가지 관점이 모두 필요합니다.
🔍 3가지 축 비교
| 축 | 도구 | 질문 | 용도 |
|---|---|---|---|
| Metrics | Prometheus, CloudWatch | ”얼마나?” | 추세 파악, 알람 |
| Logs | ELK, Loki, CloudWatch Logs | ”무슨 일이?” | 디버깅, 원인 분석 |
| Traces | Jaeger, Zipkin, Tempo | ”어디서 느려?” | 병목 지점 찾기 |
📊 1. Metrics (메트릭)
특징
- 숫자 데이터 (시계열)
- 경량, 빠름
- 대시보드와 알람에 적합
예시
# CPU 사용률
cpu_usage_percent 80
# API 응답 시간
api_response_time_seconds 0.234
# 에러 비율
error_rate_percent 2.5언제 사용?
- 시스템 건강도 확인
- 이상 징후 감지
- 용량 계획
📝 2. Logs (로그)
특징
- 텍스트 데이터
- 상세한 컨텍스트
- 저장 공간 많이 필요
예시
2025-12-09 10:30:45 ERROR [OrderService]
Failed to process order #12345:
Connection timeout to payment gateway
언제 사용?
- 에러 메시지 확인
- 디버깅
- 감사(Audit) 기록
🔗 3. Traces (분산 추적)
특징
- 요청 흐름 추적
- 서비스 간 의존성 시각화
- 병목 지점 정확히 파악
예시
[Request: order-12345]
1. API Gateway (20ms)
2. → Order Service (150ms)
3. → MySQL Query (120ms) ← 병목!
4. → Redis Cache (10ms)
5. → Payment Service (50ms)
Total: 240ms
언제 사용?
- 마이크로서비스 환경
- 성능 최적화
- 서비스 간 호출 추적
🚨 실무 시나리오: 장애 대응
상황: 주문 API가 느려짐
1단계: Metrics 확인
# Prometheus Query
rate(api_latency_seconds[5m])발견: Order Service 응답 시간 급증 (0.2초 → 2초)
2단계: Logs 확인
grep "ERROR" order-service.log | tail -50
발견: Lock wait timeout exceeded 에러 다수
3단계: Traces 확인
Jaeger UI → order-12345 trace
발견: MySQL 쿼리에서 2초 소요 (lock 대기)
결론
Metrics로 “어디가” 문제인지 파악 Logs로 “무슨” 에러인지 확인 Traces로 “어느 부분이” 느린지 정확히 식별
🔧 도구 조합 예시
소규모 스타트업
Metrics: Prometheus (무료)
Logs: Loki (무료)
Traces: Jaeger (무료)
대시보드: Grafana (통합)
중대형 기업
Metrics: Prometheus + Datadog
Logs: ELK Stack
Traces: Jaeger
대시보드: Grafana + Datadog
클라우드 중심
Metrics: CloudWatch Metrics
Logs: CloudWatch Logs
Traces: AWS X-Ray
대시보드: CloudWatch Dashboards
⚠️ 흔한 실수
❌ Metrics만 보는 경우
"API 에러율이 높네?"
→ 왜 에러인지 모름 (로그 필요)
❌ Logs만 보는 경우
"에러 로그가 있네?"
→ 언제부터 시작됐는지 모름 (메트릭 필요)
❌ Traces만 보는 경우
"이 요청은 느리네?"
→ 전체적인 트렌드를 모름 (메트릭 필요)
💡 실무 팁
우선순위
Phase 1: Metrics (필수)
→ 시스템 생존 확인
Phase 2: Logs (중요)
→ 문제 원인 파악
Phase 3: Traces (고급)
→ 성능 최적화
비용 효율
Metrics: 저렴 (작은 데이터)
Logs: 중간 (샘플링 고려)
Traces: 비쌈 (선택적 수집)
🔗 연관 개념
- 01-Exporter-개념 - Metrics 수집 방법
- 07-4-Golden-Signals - 무엇을 측정할 것인가
- 06-모니터링-트레이드오프 - 어디까지 할 것인가