메트릭
시스템의 상태를 수치로 측정한 데이터입니다. "지금 서버가 어떤 상태인지" 숫자로 파악하고 알림을 설정하는 데 사용합니다.
왜 필요한가?
- 시스템 상태를 실시간으로 파악
- 임계값 초과 시 알림 발송
- 성능 추이 분석
- 용량 계획 수립
메트릭 유형
| 유형 | 설명 | 예시 |
| Counter | 계속 증가하는 누적값 | 총 요청 수, 에러 수 |
| Gauge | 오르내리는 현재값 | CPU 사용률, 메모리 |
| Histogram | 값의 분포 | 응답 시간 분포 |
| Summary | 백분위 계산 | p99 응답 시간 |
주요 메트릭 예시
# Counter - 누적 요청 수
http_requests_total{method="GET", path="/api/users"} 15234
# Gauge - 현재 CPU 사용률
cpu_usage_percent{host="server1"} 72.5
# Histogram - 응답 시간 분포
http_request_duration_seconds_bucket{le="0.1"} 8000
http_request_duration_seconds_bucket{le="0.5"} 9500
중요 메트릭 방법론
USE (인프라용)
| 항목 | 설명 | 예시 |
| Utilization | 사용률 | CPU 80% |
| Saturation | 포화도 | 대기 큐 길이 |
| Errors | 에러 수 | 디스크 에러 |
RED (서비스용)
| 항목 | 설명 | 예시 |
| Rate | 초당 요청 수 | 500 req/s |
| Errors | 에러율 | 0.1% |
| Duration | 응답 시간 | p99 200ms |
메트릭 수집 흐름
애플리케이션 ─── 메트릭 노출 ───▶ 수집기 ───▶ 저장소 ───▶ 시각화/알림
│ │ │ │
/metrics Prometheus TimeSeriesDB Grafana
대표 도구
| 도구 | 역할 |
| Prometheus | 메트릭 수집 및 저장 |
| Grafana | 시각화, 대시보드 |
| Datadog | 통합 모니터링 (SaaS) |
| CloudWatch | AWS 모니터링 |
로그 vs 메트릭
| 상황 | 사용 |
| "CPU 80% 넘으면 알림" | 메트릭 |
| "왜 CPU가 올랐지?" | 로그 |
| "실시간 대시보드" | 메트릭 |
| "장애 원인 추적" | 로그 |