1. Overview
Prometheus란?
- 시스템 모니터링 및 알림 도구: 애플리케이션의 time series 메트릭 데이터 수집 및 저장
- 오픈 소스 (CNCF 공식 프로젝트)
기능
기능 | 설명 | 예 / 특징 |
다차원 데이터 모델 |
Label로 시계열 데이터 구분
|
metrics + key-value
|
PromQL | 시계열 데이터 전용 쿼리 언어 | 강력하고 유연함 |
자율 동작 |
단일 서버만으로 동작
|
분산 스토리지 불필요
|
Pull 기반 수집 | 스크래핑 |
HTTP로 타겟에 접근해 메트릭을 수집
|
Push 지원 |
짧은 작업의 메트릭도 수집 가능
|
Push Gateway 활용
|
서비스 디스커버리 / 정적 설정 |
자동화 or 수동 설정 지원
|
ex. Consul
|
시각화 도구 연동 |
대시보드 생성 및 시각화 지원
|
Grafana 등과 연동
|
Metrics
- 숫자 기반 지표
- 숫자 데이터를 시간별로 기록해서 성능 분석에 활용함
- ex) 웹서버: 요청 수, 응답 시간 등
- ex) db: 연결 수, 쿼리 수 등
아키텍처
구성 요소 | 역할 설명 | 특징 / 예 |
Prometheus 서버 |
메트릭을 스크래핑(Pull)하여 시계열 데이터를 저장함
|
|
클라이언트 라이브러리 |
애플리케이션에 직접 코드로 메트릭 삽입
|
예: Counter, Gauge 등
|
Exporter | 외부 시스템의 메트릭 수집기 | 예: HAProxy, Redis, Node 등 |
Push Gateway |
짧게 실행되는 작업이 메트릭을 Prometheus에 푸시할 수 있도록 중간 수단 제공
|
|
Alertmanager |
알림 규칙 기반으로 Alert를 생성
|
이메일, 슬랙 등으로 전송함
|
기타 도구들 |
다양한 지원 도구들 포함
|
예: 데이터 변환, 백업, 통합 등 |
출처
'DevOps' 카테고리의 다른 글
[Prometheus] 2. Concepts (0) | 2025.05.31 |
---|