안녕하세요! 오늘은 시스템의 상태를 관찰하고 문제를 해결하는 데 필수적인 OpenTelemetry의 핵심, 바로 메트릭(Metric)에 대해 알아보려고 합니다. 🔍
시스템의 건강 상태를 숫자로 명확하게 표현해 주는 메트릭! 하지만 막상 사용하려고 보면 어떤 종류를 선택해야 할지 막막할 때가 있죠. 오늘 이 글을 통해 OpenTelemetry의 표준 메트릭 유형들을 확실하게 정복해 봅시다!

1. 카운터 (Counter) 📈
카운터는 이름 그대로 계속해서 증가만 하는 단조로운 값을 측정하는 메트릭입니다. 마치 자동차의 총주행거리 계기판처럼, 값은 오직 위로만 올라갈 뿐 절대 줄어들지 않죠. 시스템이 재시작될 때만 0으로 초기화됩니다.
이러한 특성 때문에 '누적'되는 값을 기록하는 데 아주 유용합니다.
✅ 이런 경우에 사용해요!
- 웹사이트의 총 페이지 뷰 수 📄
- API 서버가 처리한 총 요청 수 🚀
- 지금까지 발생한 에러의 총 횟수 ❌
- 작업 큐에 추가된 총 작업 수 📥
2. 게이지 (Gauge) 🌡️
게이지는 특정 시점의 값을 스냅샷처럼 측정하는 메트릭입니다. 마치 온도계나 자동차의 속도계처럼, 값이 오르락내리락 자유롭게 변할 수 있습니다.
'현재' 시스템의 상태를 파악하는 데 가장 적합한 메트릭이라고 할 수 있습니다.
✅ 이런 경우에 사용해요!
- 현재 CPU 사용률 💻
- 현재 메모리 사용량 🧠
- 현재 활성 사용자 수 👥
- 큐에 대기 중인 작업의 개수 ⏳
3. 히스토그램 (Histogram) 📊
히스토그램은 특정 기간 동안 수집된 값들의 통계적인 분포를 나타내는 메트릭입니다. 단순히 하나의 값이 아니라, 관찰된 값들이 어떤 범위(버킷, bucket)에 얼마나 많이 분포하는지를 보여주죠.
이를 통해 평균값뿐만 아니라, 중앙값, 백분위수(Percentile, 예: 95%, 99%) 같은 훨씬 더 깊이 있고 의미 있는 데이터를 얻을 수 있습니다. "대부분의 요청은 빨랐지만, 일부 요청은 매우 느렸다"와 같은 상황을 정확하게 포착할 수 있습니다.
✅ 이런 경우에 사용해요!
- HTTP 요청의 응답 시간 분포 ⏱️
- 데이터베이스 쿼리 실행 시간 💾
- 파일 업로드 크기 분포 📁
- 메시지 큐의 메시지 처리 지연 시간 🕰️
💡 잠깐! '시간'은 어떻게 측정하나요?
"그렇다면 API 응답 시간처럼 '시간(Time)'이나 '기간(Duration)'을 측정하려면 어떤 메트릭을 써야 할까요? 'Timer'라는 유형이 따로 있지 않을까요?" 🤔
아주 좋은 질문이자 많은 분들이 헷갈려 하는 부분입니다!
결론부터 말씀드리면, OpenTelemetry의 공식 표준 메트릭 유형에는 'Timer'가 포함되어 있지 않습니다.
그럼 시간 관련 데이터는 어떻게 측정할까요? 정답은 바로 위에서 설명한 히스토그램(Histogram)을 사용하는 것입니다!
히스토그램은 특정 작업에 걸린 시간(duration)을 측정하고, 그 값들의 분포를 분석하는 데 가장 이상적인 도구입니다. 히스토그램을 사용하면 "평균 응답 시간은 50ms이지만, 상위 1%의 요청은 1000ms 이상 걸린다"와 같은 서비스 수준 목표(SLO)를 정하고 관리하는 데 필수적인 인사이트를 얻을 수 있습니다.
정리하며 ✨
자, 오늘은 OpenTelemetry의 핵심 메트릭 3인방에 대해 자세히 알아봤습니다.
- 🔢 Counter: 계속 더해지는 누적 값!
- 🌡️ Gauge: 오르락내리락하는 현재 스냅샷 값!
- 📊 Histogram: 값의 분포를 통해 깊이 있는 분석! (시간 측정에도 사용!)
이제 여러분의 시스템을 모니터링할 때, 측정하려는 데이터의 성격에 맞는 올바른 메트릭 유형을 자신 있게 선택하실 수 있겠죠? 😉
'클라우드 > 쿠버네티스' 카테고리의 다른 글
| 🚀 OpenTelemetry의 심장! 서비스 이름을 정의하는 핵심 환경 변수 알아보기 (0) | 2025.10.13 |
|---|---|
| ⚙️ OpenTelemetry Collector의 숨은 조력자: 파이프라인 밖의 핵심 컴포넌트 (0) | 2025.10.13 |
| 🔍 OpenTelemetry의 핵심 구성 요소 파헤치기 (0) | 2025.10.13 |
| 🔍 OpenTelemetry의 핵심, 'Resource'에 대해 알아보기 (0) | 2025.10.13 |
| 🚀 OpenTelemetry Collector의 심장, 파이프라인 완벽 가이드! (0) | 2025.10.12 |