개발자

노드 백엔드 로그 관리 어떻게 하시나요?

2023년 04월 11일조회 2,328

안녕하세요, 노드 백엔드 로그 관리 관련해서 질문이 있습니다. 지금 윈스턴으로 레벨 별로 로그 찍고 있고, 로그 파일 저장까진 했는데 뭐가 더 필요한지 잘 모르겠네요 ㅠㅠ 혹시 로그 관리 어떻게 하고 계시나요? (익스프레스 사용합니다)

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 4

인기 답변

이양일님의 프로필 사진

안녕하세요! 제가 NodeJS 에 대한 지식은 많지 않아 NodeJS 에 특화된 로그 관리 방법보다는 일반적으로 서버 운영시 하게 되는 로그 관리 방법에 대해 답변 드려보겠습니다. 로그를 남겨두면 이슈나 버그 트래킹에 용이하기 때문에 잘 관리가 되야하는데요, 로그가 너무 많이 적재될경우 자칫 disk full 이 발생할 수 있고, 컨테이너 환경으로 운영하실 경우 컨테이너 종류에 따라 로그를 유실할 수도 있기 때문에 적절한 백업 전략이 필요합니다. 베어메탈 혹은 가상머신으로 운영중이실 경우 간단하게 crontab 이나 tinycron 으로 주기적으로 백업 스크립트를 실행하여 로그 백업 및 오래된 로그를 삭제하도록 할 수 있습니다. 컨테이너 환경으로 운영하시는 경우 ElasticSearch 와 Logstash 혹은 FileBeat 를 통해 로그를 적재하고 Kibana 를 통해 시각화 하거나 Grafana Loki 라는 오픈소스 솔루션을 사용하는 방법도 있습니다. (Fluentd 나 Apache Flume, Kafka 를 활용하여 Hadoop EchoSystem 에 로그를 관리하는 방법도 있습니다만 이건 대량의 로그를 쌓는게 아니라면 배보다 배꼽이 커지기 때문에 추천드리지 않습니다.) 특정 솔루션을 사용하는게 부담되신다면 앞서 말씀드린 crontab 이나 tinycron, jenkins 등을 통해 특정 주기로 외부 Storage 에 백업시키는 전략도 있습니다만 실시간으로 쌓을수는 없기 때문에 로그 유실이 발생할 가능성이 있습니다. 이 외에도 DataDog 나 Sentry 와 같이 로그관리 뿐만 아니라 모니터링까지도 지원하는 유료 솔루션을 사용하는 방법도 있습니다. 📚 참고하시면 좋은 글 - Tinycron: https://careerly.co.kr/comments/70243?utm_campaign=self-share - Grafana Loki: https://careerly.co.kr/comments/70789?utm_campaign=self-share 저의 답변이 부디 조금이나마 도움이 되시길 바라겠습니다. 🙏

profile picture

익명

작성자

2023년 04월 13일

와 제가 답변 참고만 하고 댓글이 늦었습니다 ㅠㅠ 많은 도움 되었습니다 첨부해 주신 글도 잘 살펴봤어요!!

인기 답변

진성주님의 프로필 사진

clodwatch에 적재하시면 pino로 간결하게 넣어질 수 있습니다. 제대로하려면 nosql에 하는게 좋을거 같긴하네욥. 하지만 요새 sass들도 워낙 잘 나오기 때문에 회사 서비스라면 센트리나 데이터독 등을 사용하시길 권장드립니다.

profile picture

익명

작성자

2023년 04월 13일

오 그렇군요!! 참고하겠습니다 답변 감사합니다!

kevin님의 프로필 사진

저는 pm2 를 사용하고잇어서 거기서 나온로그를 저장하거나 디스코드 혹은 슬랙에 뿌림미다

커리어리 AI 봇님의 프로필 사진

안녕하세요! 노드 백엔드 로그 관리에 대해 조언을 드리겠습니다. 현재 윈스턴을 사용하여 레벨별로 로그를 찍고 파일 저장까지 한 것은 좋은 시작입니다. 이렇게 로그 관리를 하는데 추가로 고려해볼 만한 사항들은 다음과 같습니다. 1. 로그 로테이션: 로그 파일이 너무 커지지 않도록 정기적으로 로그 파일을 회전하고 압축하는 것이 좋습니다. ' winston-daily-rotate-file '와 같은 패키지를 사용하여 간단하게 설정할 수 있습니다. 2. 로그 포맷팅: 로그가 읽기 쉬운 형식으로 저장되고, 필요한 정보가 포함되어 있는지 확인하세요. 예를 들어, 타임스탬프, 로그 레벨, 메시지, 에러 스택 트레이스 등이 있어야 합니다. 3. 로그 관리 시스템: 로그를 분석하고 모니터링할 수 있는 중앙 집중식 로그 관리 시스템을 사용하는 것이 좋습니다. ELK 스택(Elasticsearch, Logstash, Kibana)이나 Graylog 같은 오픈 소스 솔루션이 있고, 상용 솔루션으로는 Splunk, Loggly, DataDog 등이 있습니다. 4. 에러 트래킹: 에러 발생 시 개발자가 즉시 알 수 있도록 에러 트래킹 시스템을 사용하는 것이 좋습니다. Sentry, Rollbar, Bugsnag 등의 서비스를 사용할 수 있습니다. 5. Express 미들웨어: 로깅을 더 쉽게하기 위해, morgan과 같은 Express 미들웨어를 사용하여 요청 및 응답에 대한 정보를 자동으로 로깅할 수 있습니다. 이러한 고려 사항들을 참고하여 로그 관리 전략을 구축하시면, 문제 발생 시 빠르게 대응하고 시스템 상태를 쉽게 모니터링할 수 있게 됩니다. ----- ✅ Chat GPT의 답변을 평가해 주세요! 틀린 내용은 없는지, 답변이 도움이 되었는지 댓글로 작성해 주세요.

커리어리 AI 봇의 답변을 평가해 주세요!

profile picture

익명

작성자

2023년 04월 13일

고마워요 GPT 형!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!