초보 개발자의 기록

Prometheus란? 본문

Infra | DevOps/Monitoring

Prometheus란?

bambinodeveloper 2025. 11. 17. 14:12
728x90

Prometheus는 오픈 소스 시스템 모니터링 및 경고(Alert) 도구로, Cloud Native 환경에서 널리 사용된다.

원래 SoundCloud에서 개발되었으며 현재는 CLoud Native Computing Foundation (CNCF)에서 관리, 호스팅 하고 있다.

 

Prometheus는 시계열 데이터베이스 (Time Series Datavase, TSDB) 를 기반으로 메트릭 데이터를 수집하고 저장하며 쿼리 및 시각화를 통해 시스템 상태를 모니터링하고 경고를 설정할 수 있다.

 

주요 구성 요소

prometheus 서버

  • 메트릭 데이터를 수집하고 저장하는 핵심 컴포넌트
  • 각 타깃(target)으로부터 데이터를 주기적으로 스크랩(scrape) 하여 시계열 데이터베이스에 저장
  • TSDB는 시간에 따라 변화하는 데이터를 효율적으로 저장하고 조회하도록 최적화되어 있음

Exporters

  • prometheus는 기본적으로 애플리케이션에서 매트릭 데이터를 수집
  • Exporter는 측정 애플리케이션이나 시스템의 메트릭 데이터를 Prometheus가 이해할 수 있는 형식으로 변환해 주는 도구
  • 대표적인 Exporters:
    • Node Exporter: 서버의 CPU, 메모리, 디스크, 네트워크 등 시스템 메트릭 수집
    • PostgreSQL Exporter: PostgreSQL DB 메트릭 수집
    • Spring Boot Micrometer + Prometheus Registry: Spring Boot 애플리케이션 메트릭 수집

Pushgateway

  • 단기 실행 작업(job)에서 메트릭을 Prometheus 서버로 푸시(push) 가능
  • 예: 배치 작업, 스크립트 실행, cron작업
  • 지속적으로 실행되지 않는 작업의 메트릭 수집에 적합

Alertmanager

  • Prometheus 서버에서 발생한 경고 (Alert)를 관리
  • 이메일, Slack, PagerDuty 등 다양한 패널로 알림 전송 가능
  • 경고를 그룹화하거나, 억제(Silence)할 수 있어 운영 효율성을 높임

Grafana

  • Prometheus 데이터를 시각화할 때 자주 사용되는 대시보드 도구
  • Prometheus에서 수집한 시계열 데이터를 직관적인 차트, 그래프, 경보로 표시 가능
  • 운영 모니터링, SLA 점검, 성능 분석 등에 유용

Prometheus는 단순 모니터링 도구를 넘어, 운영 자동화와 경보 체계 구축에 핵심 역할을 한다.

Node Exporter, Spring Boot Metrics, Pushgateway 등 다양한 구성 요소와 함께 사용하면 서버, 애플리케이션, 데이터베이스 등 전체 시스템 상태를 효율적으로 모니터링하고 문제 발생 시 즉각 대응할 수 있다.

 

728x90
반응형