카테고리 없음

프로메테우스(Prometheus)는

idea9329 2026. 1. 22. 16:41
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
반응형