Prometheus

노력하는백엔드·2025년 8월 10일
0

이론 정리

목록 보기
4/9

Prometheus란?

Prometheus는 시계열 데이터(time-series data) 를 수집하고 저장하는 오픈소스 모니터링 시스템

즉, 시스템이나 애플리케이션에서 발생하는 숫자 지표(metric) 들을 주기적으로 수집해서 저장하고, 쿼리하고, 시각화 기능 제공


예를 들어 수집 가능한 것들

메트릭 예시의미
cpu_usage_seconds_totalCPU 사용 시간
process_resident_memory_bytes메모리 사용량
http_requests_totalHTTP 요청 수
disk_io_time_seconds_total디스크 IO 시간
go_gc_duration_secondsGC 시간 (Go 앱일 경우)

주요 구성 요소

구성 요소설명
Prometheus Server메트릭 수집 + 저장 + 쿼리
Exporter/metrics를 노출하는 앱 또는 에이전트
Alertmanager경고 조건을 만족하면 Slack, Email 등으로 알림
Grafana수집된 데이터를 시각화하는 프론트엔드 도구

주요 특징

기능설명
📡 Pull 방식Prometheus가 직접 /metrics에 주기적으로 요청함
📦 시계열 저장metric_name{label1="value", ...} 형식으로 저장
📈 쿼리 언어PromQL이라는 쿼리 언어로 메트릭 필터링 가능
🛎️ Alerting특정 조건을 만족하면 알림 전송 가능
📦 독립 실행형DB 없이 동작 (로컬 디스크에 저장)

예시 쿼리 (PromQL)

  • CPU 사용량
    avg_over_time(process_cpu_seconds_total[1h])
  • 요청 수
    http_requests_total
  • rate(http_requests_total[5m])

Prometheus의 활용 예

사용 예시설명
서버 자원 모니터링CPU, Memory, Disk 사용량
앱 상태 추적요청 수, 응답 속도, 에러 비율
알람 시스템5xx 에러 비율 > 10% 시 Slack 알림
장기 데이터 분석한 달 동안의 평균 응답 시간 확인

profile
열심히 노력하는 백엔드입니다.

0개의 댓글