기술 | 선택지 | 선택 근거 |
---|---|---|
Log | Winston, | |
Pino, | ||
Log4js | 가장 많이 사용 | |
Winston은 Node.js 환경에서 가장 널리 사용되는 로깅 라이브러리로, | ||
문서화와 지원이 매우 잘되어 있고 사용 중 문제가 발생했을 때 해결책을 찾는 것이 비교적 쉽다. |
유연한 로그 전송 로그를 파일, 콘솔, HTTP, Elasticsearch, S3 등 여러 목적지로 쉽게 전송할 수 있으므로 ELK와 연계 가능하다.
레벨 기반 로깅 로그의 레벨을 기반으로 로깅을 관리할 수 있다. info, warn, error, debug 등 여러 가지 로그 레벨을 설정하고 필요한 레벨 이상의 로그만 기록할 수도 있다. | | Data Analysis Platform | ELK stack | 넓은 생태계 Stack Overflow, Github 등의 커뮤니티에서 지원받을 수 있으며, 문서화가 잘되어 있어 문제가 발생했을 때 비교적 해결하기 수월하고 예제 및 튜토리얼 등을 찾기 쉽다.
분산 환경에 최적화된 시스템 Elasticsearch로 분산된 여러 서버의 데이터를 인덱싱하여 빠르게 검색 할 수 있고, Kibana를 통해 실시간으로 모니터링 할 수 있다. | | Data Visualization | Grafana | 시스템 메트릭 시각화 서버의 메모리 사용량, CPU 상태, 네트워크 트래픽 등의 메트릭 데이터를 시각화해서 하나의 대시보드로 모니터링할 수 있다.
알림 기능 Grafana는 알림 기능을 통해 실시간으로 시스템에 문제가 발생했을 때 특정 알림을 받을 수 있게 설정할 수 있으며 시스템 운영에 실시간으로 반응할 수 있게 해준다. |