1. Prometheus란?
Prometheus는 오픈소스 모니터링 및 경고 시스템으로, 시계열 데이터(Time Series Data)를 수집하고 저장하며, 쿼리를 통해 이를 분석합니다.
Prometheus의 주요 특징
- 시계열 데이터 수집:
- **메트릭(metric)**이라고 불리는 데이터를 시계열(Time Series) 형식으로 수집.
- 예: CPU 사용률, 메모리 사용량, 네트워크 트래픽.
- Pull 기반 데이터 수집:
- Prometheus 서버가 모니터링 대상(Exporter)에서 데이터를 **끌어오는 방식(Pull)**으로 수집.
- Query Language (PromQL):
- 데이터를 분석하고 시각화하기 위한 쿼리 언어.
- 복잡한 데이터 처리를 쉽게 수행 가능.
- 알림(Alerting):
- 특정 조건이 충족되면 AlertManager를 통해 경고를 생성하고, 이메일, Slack 등으로 알림을 보냄.
- 독립 실행형:
- 분산 스토리지 없이도 단일 Prometheus 서버만으로 동작 가능.
Prometheus의 구성 요소
- Prometheus Server:
- 메트릭 수집 및 저장.
- Exporter:
- 모니터링 대상에서 메트릭 데이터를 제공.
- 예: Node Exporter(서버 리소스), kube-state-metrics(Kubernetes).
- AlertManager:
- 조건 기반 경고 알림을 관리.
- Push Gateway:
- 휘발성 데이터를 Prometheus 서버에 전달(Push).
Prometheus의 주요 사용 사례
- 서버 리소스(CPU, 메모리) 모니터링.
- 컨테이너 환경(Kubernetes)의 상태 추적.
- 애플리케이션 레벨 메트릭(응답 시간, 요청 수) 모니터링.
2. Grafana란?
Grafana는 오픈소스 데이터 시각화 및 분석 플랫폼으로, 다양한 데이터 소스를 기반으로 대시보드를 생성하고, 데이터를 시각적으로 표현합니다.
Grafana의 주요 특징
- 데이터 시각화:
- Prometheus를 포함한 다양한 데이터 소스를 기반으로 차트, 그래프, 대시보드 생성.
- 대화형 대시보드 제공.
- 다양한 데이터 소스 지원:
- Prometheus 외에도 MySQL, PostgreSQL, Elasticsearch, AWS CloudWatch, Google Cloud 등 다수의 데이터 소스를 지원.
- 플러그인 기반 확장성:
- 플러그인을 통해 새로운 데이터 소스나 시각화 기능 추가 가능.
- Alerting:
- 시각화된 데이터에 대해 경고 알림 설정 가능.
- 이메일, Slack 등으로 알림 전송.
- 사용자 정의 대시보드:
- 여러 데이터 소스를 결합하여 커스터마이징된 대시보드 생성.
Grafana의 주요 사용 사례
- Prometheus와 함께 시스템 리소스 상태를 실시간으로 모니터링.
- 비즈니스 데이터 시각화(매출, 사용자 활동).
- 데이터베이스 성능 분석 및 추적.
3. Prometheus와 Grafana의 관계
- Prometheus는 데이터를 수집하고 저장하는 역할.
- Grafana는 Prometheus에서 수집한 데이터를 시각화하는 역할.
'개발기술 > 테스트, 인프라' 카테고리의 다른 글
Prometheus 모니터링 + Grafana (0) | 2025.01.26 |
---|---|
대규모 서비스는 어떻게 서비스되는가 (0) | 2025.01.09 |
AWS 서비스 (1) | 2025.01.02 |
데이터베이스 스케일 업 & 아웃 (0) | 2024.09.02 |
Unit Test 코드 작성 (1) | 2024.07.22 |