MSA에서 ELK와 Prometheus, Grafana를 비교

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 등과 우수한 통합 다양한 데이터 시각화, 로그+메트릭 통합 대시보드 구축 가능
단점 무거운 설치 및 운영 부담, 메트릭 통합 어려움 로그 분석 기능 부족 단독 저장 기능 없음, 데이터 소스 필요

요약

MSA에서 ELK와  Prometheus, Grafana를 비교

  • ELK는 로그 데이터를 중심으로 복잡한 검색과 분석이 필요할 때 적합하며, MSA의 분산 로그 관리를 위한 중앙집중식 로그 처리 플랫폼으로 많이 사용됩니다.

  • Prometheus는 CPU, 메모리, 요청 수 등 시계열 메트릭 수집과 모니터링에 최적화되어 있으며, 실시간 알람과 Kubernetes 환경에서 강력한 성능을 발휘합니다.

  • Grafana는 Prometheus, ELK 등 다양한 데이터 소스를 시각화하는 데 뛰어나, 사용자 맞춤형 대시보드 구성과 통합 모니터링에 강점이 있습니다.

MSA 환경에서는 보통 Prometheus+Grafana 조합으로 메트릭을, ELK로 로그를 관리하며, Grafana를 통해 이 둘을 통합 시각화하는 방식을 많이 채택합니다.