MSA에서 ELK, Prometheus, Grafana는 각각 다른 목적과 특성을 가진 도구들로, 주로 로그와 메트릭 데이터 수집 및 시각화에 활용됩니다. 이들을 비교 정리하면 다음과 같습니다.
| 구분 | ELK (Elasticsearch, Logstash, Kibana) | Prometheus | Grafana |
|---|---|---|---|
| 주 용도 | 로그 데이터 수집, 저장, 검색, 분석 | 시계열 메트릭 데이터 수집과 모니터링 | 다양한 데이터 소스의 시각화 및 대시보드 구성 |
| 데이터 종류 | 로그(텍스트 기반 로그 데이터) | 시계열 메트릭(서버 상태, 성능 지표 등 수치 데이터) | 시계열 데이터, 로그, 분산 추적 등 다양한 데이터 시각화 |
| 데이터 수집 방식 | 주로 Push (로그 발생지에서 중앙 서버로 전송) | Pull (Prometheus가 주기적으로 타겟에서 수집) | 데이터 저장 안함. Prometheus, ELK 등에서 데이터 받아 시각화 |
| 설치 및 구성 난이도 | 상대적으로 무거움. Elasticsearch, Logstash, Kibana 각각 설치 및 구성 필요 | 상대적으로 가볍고 단순. 단일 바이너리 및 YAML 설정 | 간단한 설치, UI 직관적 및 확장성 우수 |
| 시각화 기능 | Kibana로 로그 분석에 최적화 | 기본 시각화 기능 존재하나 제한적 | 매우 강력하고 다양한 시각화 지원, 사용자 친화적 UI |
| 알람 기능 | 기본 알람 기능 약함 (Watcher 등 별도 설정 필요) | Alertmanager 통한 강력한 알람 기능 | 자체 알람 기능 제공하나 백엔드 데이터 의존 |
| 확장성 및 유연성 | 대규모 로그 저장 및 복잡한 분석에 적합 | Federation, 리모트 스토리지 등 확장 용이 | 다양한 플러그인, 데이터소스 연동 가능 |
| 리소스 사용량 | 상대적으로 높음 (특히 Logstash와 Elasticsearch) | 낮음, 단일 노드 최적화 | 데이터 저장하지 않아 리소스 부담 적음 |
| 장점 | 강력한 로그 검색 및 분석, 복잡한 쿼리 지원 | 메트릭 모니터링에 특화, Kubernetes 등과 우수한 통합 | 다양한 데이터 시각화, 로그+메트릭 통합 대시보드 구축 가능 |
| 단점 | 무거운 설치 및 운영 부담, 메트릭 통합 어려움 | 로그 분석 기능 부족 | 단독 저장 기능 없음, 데이터 소스 필요 |
요약

-
ELK는 로그 데이터를 중심으로 복잡한 검색과 분석이 필요할 때 적합하며, MSA의 분산 로그 관리를 위한 중앙집중식 로그 처리 플랫폼으로 많이 사용됩니다.
-
Prometheus는 CPU, 메모리, 요청 수 등 시계열 메트릭 수집과 모니터링에 최적화되어 있으며, 실시간 알람과 Kubernetes 환경에서 강력한 성능을 발휘합니다.
-
Grafana는 Prometheus, ELK 등 다양한 데이터 소스를 시각화하는 데 뛰어나, 사용자 맞춤형 대시보드 구성과 통합 모니터링에 강점이 있습니다.
MSA 환경에서는 보통 Prometheus+Grafana 조합으로 메트릭을, ELK로 로그를 관리하며, Grafana를 통해 이 둘을 통합 시각화하는 방식을 많이 채택합니다.