[TIL] ELK vs PLG

Soeng_dev·2025년 1월 1일

MSA 환경에서 ELK와 Prometheus/Grafana/Loki 비교 및 활용 정리

1. ELK와 Prometheus/Grafana/Loki 차이

ELK(Stack: Elasticsearch, Logstash, Kibana)

  • 로그 중심: 로그 데이터를 수집(Logstash/Filebeat), 저장(Elasticsearch), 시각화(Kibana).
  • 주요 특징:
    • 대량 로그 데이터의 심층 분석과 복잡한 검색.
    • JSON 기반 데이터 저장과 강력한 쿼리 기능.
  • 사용 사례:
    • 보안 로그 분석, 사용자 행동 추적, 대규모 로그 저장 및 검색.
    • SIEM(Security Information and Event Management) 환경 구성.

Prometheus/Grafana/Loki

  • 메트릭 및 로그 통합 중심:
    • Prometheus는 메트릭 데이터를 수집하고 알림을 생성.
    • Loki는 로그 데이터를 수집하며 메트릭과 연계해 분석 가능.
    • Grafana는 두 데이터를 통합 시각화.
  • 주요 특징:
    • 실시간 모니터링과 경량화된 아키텍처.
    • 특정 시간대 로그와 메트릭 연계 분석 가능.
  • 사용 사례:
    • 시스템 상태 모니터링, 마이크로서비스 성능 분석, 실시간 장애 감지.

2. 실무에서 적용 상황

Prometheus/Grafana/Loki

  • 시스템/애플리케이션 성능 모니터링:
    • CPU, 메모리 사용량, 요청 처리 시간 등 실시간 모니터링.
    • 장애 탐지를 위한 경고 설정.
  • 마이크로서비스 환경:
    • 서비스 간 호출 시간, 에러 비율 모니터링.
    • Prometheus 경고와 Loki 로그 분석 연계.
  • 장점:
    • 경량화된 아키텍처로 MSA에 적합.
    • 실시간 문제 감지 및 대처 가능.

ELK

  • 로그 중심의 심층 분석:
    • 대규모 로그를 통합 수집하고 복잡한 쿼리로 문제 원인 분석.
  • 보안 및 규정 준수:
    • 장기 로그 저장 및 보안 이벤트 추적.
  • 장점:
    • 강력한 검색 기능으로 대량의 로그를 분석 가능.
    • 중앙 로그 저장소로 활용.

3. Prometheus/Grafana/Loki로 이슈 추적 가능 여부

  • Prometheus로 메트릭 이상 감지 후 Loki에서 로그 검색 가능.
  • Grafana를 통해 메트릭과 로그를 통합 분석.
  • 가능한 작업:
    • 장애 발생 시점과 원인 로그 추적.
    • 특정 시간대의 성능 문제와 관련된 로그 분석.
  • 제약 사항:
    • 복잡한 로그 패턴 분석에는 Loki가 비효율적.
    • 장기 로그 보존 및 검색은 추가 설정 필요.

4. MSA에서 ELK 활용법

ELK는 무겁지만, 특정 목적에 적합하게 설계하면 MSA 환경에서도 유용.

  • 중앙 로그 관리:
    • 모든 서비스 로그를 중앙에서 통합 수집.
    • 각 서비스에서 필요한 로그만 선별적으로 전송.
  • 제한적 데이터 처리:
    • 중요한 에러 로그 또는 보안 이벤트만 수집.
  • 특정 사용 사례:
    • 사용자 활동 추적, 보안 이벤트 분석, 장기 로그 저장.

5. MSA 환경에서 도구 선택

  • Prometheus/Grafana/Loki가 적합한 경우:
    • 실시간 모니터링과 경량화된 메트릭 기반 관리 필요.
    • 마이크로서비스 간 호출 시간, 성능 모니터링 중심 환경.
  • ELK가 적합한 경우:
    • 로그 중심의 심층 분석과 장기 로그 저장이 필수.
    • 보안 및 규정 준수 요구사항이 중요한 경우.

6. 결론

MSA 환경에서는 Prometheus/Grafana/Loki가 일반적으로 더 적합하며, 실시간 모니터링과 가벼운 아키텍처로 성능 문제를 빠르게 탐지하고 대응할 수 있음.
ELK는 로그 중심의 심층 분석 및 규정 준수에 활용되며, 필요한 로그만 선별적으로 처리하는 방식으로 운영 부담을 줄이는 것이 중요.
두 시스템은 서로 보완적으로 사용할 수 있음.

profile
Software Engineer

0개의 댓글