둘 다 IT 시스템 운영에서 많이 쓰는 모니터링 도구지만, 역할이 서로 다릅니다.
1. Prometheus
👉 데이터를 수집하고 저장하는 역할
- 서버, 애플리케이션의 상태를 주기적으로 수집 (CPU, 메모리, 트래픽 등)
- 데이터를 시계열(Time Series) DB 형태로 저장
- “현재 시스템 상태가 어떤지”를 기록하는 역할
특징
- Pull 방식 (Prometheus가 직접 데이터를 가져감)
- 자체 쿼리 언어(PromQL) 제공
- 알람 기능 포함 (장애 감지 가능)
2. Grafana
👉 데이터를 시각화하는 역할
- Prometheus 같은 데이터 소스를 연결
- 수집된 데이터를 그래프, 대시보드로 표현
- 운영자가 보기 쉽게 만들어줌
특징
- 다양한 데이터 소스 지원 (Prometheus, MySQL 등)
- 대시보드 커스터마이징 가능
- 실시간 모니터링 화면 구성
3. 관계 (핵심 이해)
- Prometheus → 데이터 수집/저장
- Grafana → 데이터 시각화
즉,
Prometheus가 “데이터를 모으는 엔진”이면
Grafana는 “그걸 예쁘게 보여주는 화면”
4. 실제 사용 구조
- 서버/앱에서 메트릭 생성
- Prometheus가 데이터 수집
- Grafana가 Prometheus 데이터를 읽어서 그래프 표시
5. 한 줄 정리
- Prometheus = 모니터링 데이터 수집/저장
- Grafana = 모니터링 데이터 시각화 도구
실무에서는 거의 세트처럼 같이 사용됩니다.
<참고> Prometheus, ES 차이점은?
1. Prometheus
👉 메트릭 기반 모니터링 시스템
- CPU, 메모리, 요청 수 같은 숫자 데이터(메트릭) 수집
- 시간 흐름에 따른 변화 저장 (시계열 DB)
- 장애 감지, 알람에 최적화
핵심 특징
- Pull 방식 수집
- PromQL로 시계열 분석
- 짧은 보관 기간 (보통 몇 주~몇 달)
2. Elasticsearch (ES)
👉 로그/데이터 검색 및 분석 엔진
- 텍스트 중심 데이터 (로그, 문서 등) 저장
- 빠른 검색, 필터링, 집계 분석
- 대용량 로그 분석에 강함
핵심 특징
- JSON 문서 저장
- Full-text search (문장 검색)
- 장기 보관 가능
3. 가장 중요한 차이 (핵심 비교)
| 구분 |
Prometheus |
Elasticsearch |
| 데이터 형태 |
숫자(메트릭) |
로그/문서 |
| 목적 |
모니터링/알람 |
검색/로그 분석 |
| 데이터 구조 |
시계열 |
문서(JSON) |
| 쿼리 |
PromQL |
Query DSL |
| 사용 예 |
CPU 사용률 추이 |
에러 로그 검색 |
4. 쉽게 비유하면
- Prometheus → “서버 상태 그래프 보는 도구”
- ES → “로그를 검색하는 도구”
5. 같이 쓰는 경우
실무에서는 같이 쓰는 경우가 많습니다:
- Prometheus → “지금 서버가 이상함 감지”
- ES → “왜 이상한지 로그로 분석”
여기에 보통
Grafana (메트릭 시각화) +
Kibana (로그 시각화) 조합 사용
6. 한 줄 정리
- Prometheus = 숫자 기반 모니터링
- Elasticsearch = 로그/검색 분석 엔진
둘을 같은 카테고리로 보면 헷갈리기 쉬운데,
**“메트릭 vs 로그”**로 나누면 명확하게 이해됩니다.