본문 바로가기

개발기술/테스트, 인프라

모니터링 툴

1. Prometheus란?

Prometheus는 오픈소스 모니터링 및 경고 시스템으로, 시계열 데이터(Time Series Data)를 수집하고 저장하며, 쿼리를 통해 이를 분석합니다.

Prometheus의 주요 특징

  1. 시계열 데이터 수집:
    • **메트릭(metric)**이라고 불리는 데이터를 시계열(Time Series) 형식으로 수집.
    • 예: CPU 사용률, 메모리 사용량, 네트워크 트래픽.
  2. Pull 기반 데이터 수집:
    • Prometheus 서버가 모니터링 대상(Exporter)에서 데이터를 **끌어오는 방식(Pull)**으로 수집.
  3. Query Language (PromQL):
    • 데이터를 분석하고 시각화하기 위한 쿼리 언어.
    • 복잡한 데이터 처리를 쉽게 수행 가능.
  4. 알림(Alerting):
    • 특정 조건이 충족되면 AlertManager를 통해 경고를 생성하고, 이메일, Slack 등으로 알림을 보냄.
  5. 독립 실행형:
    • 분산 스토리지 없이도 단일 Prometheus 서버만으로 동작 가능.

Prometheus의 구성 요소

  1. Prometheus Server:
    • 메트릭 수집 및 저장.
  2. Exporter:
    • 모니터링 대상에서 메트릭 데이터를 제공.
    • 예: Node Exporter(서버 리소스), kube-state-metrics(Kubernetes).
  3. AlertManager:
    • 조건 기반 경고 알림을 관리.
  4. Push Gateway:
    • 휘발성 데이터를 Prometheus 서버에 전달(Push).

Prometheus의 주요 사용 사례

  • 서버 리소스(CPU, 메모리) 모니터링.
  • 컨테이너 환경(Kubernetes)의 상태 추적.
  • 애플리케이션 레벨 메트릭(응답 시간, 요청 수) 모니터링.

2. Grafana란?

Grafana는 오픈소스 데이터 시각화 및 분석 플랫폼으로, 다양한 데이터 소스를 기반으로 대시보드를 생성하고, 데이터를 시각적으로 표현합니다.

Grafana의 주요 특징

  1. 데이터 시각화:
    • Prometheus를 포함한 다양한 데이터 소스를 기반으로 차트, 그래프, 대시보드 생성.
    • 대화형 대시보드 제공.
  2. 다양한 데이터 소스 지원:
    • Prometheus 외에도 MySQL, PostgreSQL, Elasticsearch, AWS CloudWatch, Google Cloud 등 다수의 데이터 소스를 지원.
  3. 플러그인 기반 확장성:
    • 플러그인을 통해 새로운 데이터 소스나 시각화 기능 추가 가능.
  4. Alerting:
    • 시각화된 데이터에 대해 경고 알림 설정 가능.
    • 이메일, Slack 등으로 알림 전송.
  5. 사용자 정의 대시보드:
    • 여러 데이터 소스를 결합하여 커스터마이징된 대시보드 생성.

Grafana의 주요 사용 사례

  • Prometheus와 함께 시스템 리소스 상태를 실시간으로 모니터링.
  • 비즈니스 데이터 시각화(매출, 사용자 활동).
  • 데이터베이스 성능 분석 및 추적.

3. Prometheus와 Grafana의 관계

  • Prometheus는 데이터를 수집하고 저장하는 역할.
  • Grafana는 Prometheus에서 수집한 데이터를 시각화하는 역할.

'개발기술 > 테스트, 인프라' 카테고리의 다른 글