Monitoring/Prometheus-Grafana

[Prometheus - Grafana] - 1 프로메테우스란?

돌문어우엉 2025. 4. 19. 13:09

프로메테우스 아키텍처

프로메테우스(Prometheus)란?

프로메테우스(Prometheus) 는 메트릭 수집, 시각화, 알림, 서비스 디스커버리 기능을 모두 제공하는 오픈 소스 모니터링 시스템입니다. 특히, 컨테이너화된 어플리케이션, 마이크로서비스, 클라우드 인프라에서의 모니터링에 적합하며, 강력한 쿼리 기능을 통해 데이터를 유연하게 분석할 수 있습니다.

 

 

프로메테우스(Prometheus) 의 특징

  • 프로메테우스는 다양한 환경에서 메트릭 시계열 데이터를 저장한다.
  • 자체 매트릭 스토리지가 존재하여 설치와 운영이 간편하다.
  • CNCF(Cloud Native Computing Foundation)의 대표적인 오픈소스 모니터링 도구
  • 컨테이너화된 애플리케이션, 마이크로서비스, 클라우드 인프라에서의 모니터링에 적합하다.
  • 강력한 쿼리 기능을 통한 데이터 분석 기능: PromQL을 사용하여 메트릭 데이터에 대한 다양한 집계, 필터링 등의 작업을 수행할 수 있다.
  • 프로메테우스는 데이터 수집방식중 polling 방식을 사용합니다.

 

장점

  • pull 방식의 구조를 채택함으로써, 모든 메트릭의 정보를 중앙 서버로 보내지 않아도 됩니다. (대부분의 모니터링 구조는 push인데, 각 타겟 서버에서 부하가 걸릴 경우 push 방식은 fail point가 될 가능성이 있음)
  • Kubernetes 환경에서 설치가 간단하고, grafana와의 연동을 통한 운영이 쉽습니다.
  • 다양한 metric exporter 제공Linux, Window등의 OS metric 뿐 아니라 각종 Third-party의 exporter를 제공합니다.
  • 장기간 데이터 유지와 확인데이터 저장소가 시계열 데이터 저장소로 구성되어있어, 많은 양의 정보를 빠르게 검색 가능합니다.

단점

  • 각 Region에 프로메테우스를 배치 한 뒤, 이를 Master에 Aggregate하는 방식이 프로메테우스가 공식적으로 권장하는 다중화 방식즉 Clustering과는 거리가 멉니다.
  • 싱글 호스트 아키텍처이기 때문에 저장용량이 부족하면 디스크 용량을 늘리는 것 밖에 방법이 없습니다.
  • 프로메테우스 서버가 다운되거나, 설정 변경 등을 위해서 재시작을 할 경우 그간의 metric은 유실됩니다.
  • 일정 풀링 주기를 기반으로 metric을 가져오기 때문에 풀링하는 순간의 스냅샷 정보만 알 수 있고, 스냅샷의 연속된 모음이기 때문에 근사값의 형태 => 정밀한 모니터링에 적합하지 않습니다.