[TIL] 사이드 프로젝트 02 - 모니터링 및 로깅 스택 선정

최하온·2024년 6월 29일
0

TIL

목록 보기
70/71
post-thumbnail

🚨Issue occuring


모니터링 및 로깅

로그를 남기는 것은 시스템의 안정성과 문제 해결에 매우 중요한 역할이기 때문에 모니터링 및 로깅을 적용하기로 했다

🤔어떤 걸 선택해야할까?

EFK (Elastic Search, fluentd, Kibana)와 PLG (Promtail, Loki, Grafana) 중 어느 stack로 선정할까 고민 끝에 PLG를 선택하게 됐다. 조사한 결과와 이유는 아래와 같다.

참고 리포트

CPU 사용량

ELK 스택: CPU 사용량이 60%에서 80% 사이에서 변동하며, 45분 지점에서 인덱싱 과정 때문에 최고치를 기록 후 인덱싱 완료 후 감소. 155분 인덱싱 완료
PLG 스택: 시작부터 높은 CPU 사용량을 보이며 75%에서 85% 사이를 유지 후 35분 인덱싱 완료

메모리 사용량

ELK 스택: 40% ~ 50% 사이
PLG 스택: 처음 20% ~ 70% 55분 지점에서 38%로 감소

처리 속도 (5GB 로그 파일)

PLG 스택: 55분(1.51 MB/s)
ELK 스택: 155분(0.54 MB/s)
차이점: PLG 스택은 메타데이터만 인덱싱하는 반면, ELK 스택은 로그의 전체 내용을 인덱싱하기 때문에 더 많은 시간과 자원이 필요.

디스크 사용량

PLG 스택: 1.58 GB
ELK 스택: 10.27 GB

🤓결론

  1. ELK보다 빠르지만 더 높은 CPU와 메모리 사용량을 필요하지만 전반적으로 자원 효율적임
  2. 쿼리 요청 시간은 ELK에 비해 떨어짐
  3. 인덱싱된 로그를 저장하는 데 적은 디스크 공간을 필요함
  4. 초반 구성 및 설정이 복잡함
  5. 컨테이너 및 클라우드 환경에서 사용하기 적합

=> 큰 프로젝트가 아니어서 대용량이 아니고 컨테이너 및 클라우드 환경에서 사용하기 적합하다고 판단 되어 선택!

🤔Realization


어떤 스택이 정답이다라고 할 수는 없으니 프로젝트에 맞게 사용해야 되는데 조언을 구할 곳이 없었다. 조사한 결과에 기반해서 PLG 스택을 선택하게 됐다.
새로운 스택을 적용할 때 마다 공부하는게 뭔가 재미있다 ㅋㅋㅋ

다음에 할 일: docker-compose로 PLG 적용하기

0개의 댓글