모니터링 및 로깅
로그를 남기는 것은 시스템의 안정성과 문제 해결에 매우 중요한 역할이기 때문에 모니터링 및 로깅을 적용하기로 했다
EFK (Elastic Search, fluentd, Kibana)
와 PLG (Promtail, Loki, Grafana)
중 어느 stack로 선정할까 고민 끝에 PLG를 선택하게 됐다. 조사한 결과와 이유는 아래와 같다.
ELK 스택: CPU 사용량이 60%에서 80% 사이에서 변동하며, 45분 지점에서 인덱싱 과정 때문에 최고치를 기록 후 인덱싱 완료 후 감소. 155분 인덱싱 완료
PLG 스택: 시작부터 높은 CPU 사용량을 보이며 75%에서 85% 사이를 유지 후 35분 인덱싱 완료
ELK 스택: 40% ~ 50% 사이
PLG 스택: 처음 20% ~ 70% 55분 지점에서 38%로 감소
PLG 스택: 55분(1.51 MB/s)
ELK 스택: 155분(0.54 MB/s)
차이점: PLG 스택은 메타데이터만 인덱싱하는 반면, ELK 스택은 로그의 전체 내용을 인덱싱하기 때문에 더 많은 시간과 자원이 필요.
PLG 스택: 1.58 GB
ELK 스택: 10.27 GB
=> 큰 프로젝트가 아니어서 대용량이 아니고 컨테이너 및 클라우드 환경에서 사용하기 적합하다고 판단 되어 선택!
어떤 스택이 정답이다라고 할 수는 없으니 프로젝트에 맞게 사용해야 되는데 조언을 구할 곳이 없었다. 조사한 결과에 기반해서 PLG 스택을 선택하게 됐다.
새로운 스택을 적용할 때 마다 공부하는게 뭔가 재미있다 ㅋㅋㅋ
다음에 할 일: docker-compose로 PLG 적용하기