DevOps

[Monitoring] ELK vs PLG

권기준 2024. 1. 7. 22:58

Issue

 최근 회사 프로젝트 진행 중, 오픈소스 로그 모니터링 시스템 도입에 대한 논의를 할 일이 생겼다.

 

 대표적인 오픈소스 로그 모니터링 스택인 ELK(Elastic Search, Logstash, Kibana)PLG(Prometheus, Loki, Grafana) 중에 선택하기로 의견이 좁혀졌는데, 선택에 도움을 주고자 두 스택의 장단점을 비교해보려 한다.

 

ELK vs PLG

  • 로그 모니터링 시스템의 대표격인 두 스택으로, ELK가 매우 보편적이나 최근에는 PLG의 도입이 많이 늘어나고 있다.
  • 간략화된 구조는 아래와 같다.

  • 두 로그 모니터링 시스템의 비교를 수행한 좋은 논문이 존재한다.
    • A COMPARATIVE ANALYSIS OF LOG MANAGEMENT SOLUTIONS: ELK STACK VERSUS PLG STACKJoakim Eriksson 외 1명
  • 해당 논문에 기반하여 두 기술스택을 비교해보자.

 

1. CPU 사용량 비교

  • 초당 1,000 로그 라인에 기반하여 두 스택을 비교한 결과다.

 

2. 메모리 사용량 비교

  • 초당 1,000 로그 라인에 기반하여 두 스택을 비교한 결과다.

 

3. 스토리지 효율성 비교

  • 5GB 로그를 수집하였을 때, PLG와 ELK의 디스크 사용량을 비교한 결과이다.
  ELK PLG
용량 (GB) 10.27 1.58

 

4. 로그 검색 요청 시간 비교

  • 상단은 5GB, 하단은 0.5GB의 로그셋을 검색하였을 때 소요된 시간을 나타낸다.
  • 특이사항으로, PLG는 5GB에서 아래 2개 항목을 정상적으로 수행하지 못하였다.

5. 결론

  • PLG가 더 리소스를 덜 소비하고, 공간 효율성이 좋다.
  • 검색은 ELK가 훨씬 빠르다.
    • ELK전체 텍스트에 색인을 걸고, PLG메타 데이터에만 색인을 걸기 때문이다.
    • PLGELK보다 스토리지를 덜 쓰는 이유.
  • 서비스 규모, 혹은 목적에 따라 두 시스템 중 적절히 선택하면 될 것 같다.
    • 서비스 규모가 작을 경우, PLG가 더 선호될 듯 하다.
      • 리소스 효율이 훨씬 좋고, 러닝커브가 낮기 때문.
      • Grafana와 간단히 연계되는 점 또한 큰 장점
    • 서비스 규모가 클 경우, ELK가 더 선호될 듯 하다.
      • 로그가 많아지면 많아질수록, 검색을 처리하는 속도와 성능 등이 중요해지기 때문.

 

참조