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 STACK, Joakim 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는 메타 데이터에만 색인을 걸기 때문이다.
- PLG가 ELK보다 스토리지를 덜 쓰는 이유.
- 서비스 규모, 혹은 목적에 따라 두 시스템 중 적절히 선택하면 될 것 같다.
- 서비스 규모가 작을 경우, PLG가 더 선호될 듯 하다.
- 리소스 효율이 훨씬 좋고, 러닝커브가 낮기 때문.
- Grafana와 간단히 연계되는 점 또한 큰 장점
- 서비스 규모가 클 경우, ELK가 더 선호될 듯 하다.
- 로그가 많아지면 많아질수록, 검색을 처리하는 속도와 성능 등이 중요해지기 때문.
- 서비스 규모가 작을 경우, PLG가 더 선호될 듯 하다.
참조
- 6 easy ways to improve your log dashboards with Grafana and Grafana Loki
- A COMPARATIVE ANALYSIS OF LOG MANAGEMENT SOLUTIONS: ELK STACK VERSUS PLG STACK