728x90
반응형
👉 시스템·애플리케이션의 상태를 수치로 수집하고, 저장하고, 알림까지 해주는 모니터링 도구야.
인프라/클라우드 쪽에서 거의 표준처럼 쓰여 👍
한 줄로 요약
“서버, 애플리케이션, 컨테이너의 각종 지표(metrics)를 주기적으로 긁어서 저장하고, 이상하면 알려주는 시스템”
프로메테우스가 하는 일
1️⃣ 메트릭 수집 (Metrics Collecting)
- CPU 사용률
- 메모리 사용량
- 디스크 I/O
- 네트워크 트래픽
- HTTP 요청 수, 에러율
- JVM 메모리, GC 횟수
- DB 커넥션 수 등
👉 숫자(time-series 데이터)로 계속 모아.
2️⃣ Pull 방식 수집
프로메테우스는 직접 긁어오는 방식(Pull)이야.
Prometheus → 서버(/metrics 엔드포인트) → 메트릭 수집
그래서 보통 서버에 이런 걸 붙여:
- node_exporter (서버)
- kube-state-metrics (쿠버네티스)
- application metrics (/actuator/prometheus 등)
3️⃣ 시계열 데이터 저장
모든 데이터는 이렇게 저장돼:
시간 + 값
2026-01-22 15:00:01 CPU=23.4
2026-01-22 15:00:02 CPU=24.1
👉 그래서 그래프, 증가량, 비율 계산에 특화됨
4️⃣ PromQL로 조회
프로메테우스 전용 쿼리 언어가 있어.
예:
rate(http_requests_total[1m])
의미:
최근 1분 동안 HTTP 요청 증가율
5️⃣ Alert (경보)
조건을 걸 수 있어.
- alert: HighCPU
expr: cpu_usage > 80
for: 5m
👉 5분 이상 CPU 80% 넘으면
Slack, 이메일, PagerDuty로 알림 📣
보통 같이 쓰는 구성
[서버 / WAS / K8s]
↓ (/metrics)
Prometheus
↓
Grafana (시각화)
↓
Slack / Email (Alert)
- Prometheus: 수집 & 저장
- Grafana: 대시보드, 그래프
- Alertmanager: 알림 전송
언제 쓰면 좋을까?
- 서버 상태 한눈에 보고 싶을 때
- 장애 전에 징후를 잡고 싶을 때
- 쿠버네티스(EKS/AKS/GKE) 운영
- TPS, 에러율, 지연시간 추적
- SLO / SLA 관리
정리
- 로그(log) ❌ → 수치(metrics) ⭕
- 실시간 + 장기 추세 분석 가능
- 클라우드·컨테이너 시대의 핵심 모니터링 도구
728x90
반응형