본문 바로가기
카테고리 없음

오픈소스로 모니터링 환경 구축하기(3) - Prometheus

by fiat_lux 2025. 10. 11.

Prometheus란?

시간 기반(Time-Series)으로 메트릭 데이터를 수집, 저장하는 오픈소스 모니터링 시스템이다.

 

서버와 애플리케이션의 상태를 시간에 따라 수집하고
이를 쿼리 하고 시각화 하며 알람 까지 보낼 수 있게 해주는 시스템이다.

 


개념

용어 설명 예시
메트릭 (Metric) 시스템의 상태를 수치로 표현한 값 CPU 사용률, 요청 수, 지연 시간 등
시계열 (Time Series) 시간에 따른 메트릭의 변화 추이 1초 간격으로 수집된 CPU 사용량
Exporter Prometheus가 데이터를 수집할 수 있도록 노출하는 엔드 포인트 /actuator/prometheus
Scrape Prometheus가 주기적으로 대상 애플리케이션에서 데이터를 가져오는 방식 Pull 방식
PromQL Prometheus 전용 쿼리 언어 메트릭 분석 및 대시보드 구성
AlertManager 임계값을 설정하고 알림을 발송하는 컴포넌트 CPU > 80% 시 알람

 

 

수집 방식 

  • Prometheus는 Pull 방식으로 메트릭을 수집한다.
  • Prometheus 서버가 주기적으로 대상 애플리케이션의 메트릭 엔드포인트를 호출하여 데이터를 가져온다.
/actuator/health
/actuator/prometheus
/actuator/info

 

 

방식 설명 장점 단점
Pull Prometheus가 주기적으로 대상의 메트릭을 가져온다 모니터링 서버에서 대상 상태를 능동적으로 관리 가능,
장애시 파악 용이
방화벽, 네트워크 제약 시 수집 어려움
Push 대상이 Prometheus로 데이터를 직접 전송 네트워크 제약을 회피 가능 능동적 장애 감지 어려움

 

 

 

수집하는 메트릭 타입

타입 특징 예시
Counter 단조 증가하는 누적값 요청 수, 에러 수
Gauge 증가, 감소 모두 가능 CPU 사용률, 메모리 사용량
Histogram 분포를 버킷 단위로 수집 요청 지연 시간 분포
Summary 샘플링 기반 요약 값 백분위 지연 시간