본문 바로가기
Project/🎬 Cineps

[pm2-logrotate] 로그 관리 모듈

by 파크park 2021. 1. 10.

프로젝트 진행 중, 로그 관리를 pm2 rotate 를 통해 관리해달라는 요청을 받았다.

 

현재 pm2 log-rotate를 사용하고 있지 않은 상태임을 확인하고 설치를 먼저 하였다.

 

$pm2 ls

Module 설치가 안되어 있다면 pm2 ls 명령어 시, 사용중인 클러스터들만 확인할 수 있다.

 

pm2-logrotate 설치하기

$pm2 install pm2-logrotate

 

 

이제 아래와 같이 Module 로 통해 확인이 가능하다 !

 

pm2-logrotate 를 다운받음으로써, 이제 로그파일들이 매일 일자별로 하나씩 분리되어 저장될 것이다.

 

$ls -al

ls -al 을 통해 용량의 변화, 수정 시간의 변화를 확인해 보았음.

 

express-server-error-0.log 의 용량이 더 커진게 보임

 

설치 이후, express-server-error-0 파일은 계속 log 가 쌓이는 중이고, 그 쌓인 것을 아래 2021-01-09_16-13-17.log 로 분리해준 듯 하다. 아마 매일 분리를 해주는 기준(매 정시라던가..)이 있을텐데, 쌓여있던 log가 10MB 가 넘어서 바로 분리해버린 것 같음. 

바뀌는 기준이 뭔지 알고 싶다면 pm2 conf 를 통해 확인해보자.

 

pm2 conf 명령어를 통해 현재 logrotate 의 설정을 확인할 수 있다. 별다른 설정을 하지 않으면 해당 설정임.

 

설정을 확인해보니 rotateInterval 이 0 0 * * * 인걸 보아 매일 정각에 실행하는게 맞는듯 하다.

* * * * *  수행할 명령어
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───────── 요일 (0 - 6) (0:일요일, 1:월요일, 2:화요일, …, 6:토요일)
│ │ │ └───────── 월 (1 - 12)
│ │ └───────── 일 (1 - 31)
│ └───────── 시 (0 - 23)
└───────── 분 (0 - 59)

 

 

이후 현재 같이 프로젝트를 하고 있는 개발자분에게 scp 를 통해 aws 에서 log 파일을 가져와 별도로 저장할지, 별도로 저장하지 않고 확인하는 용도로 로그 파일을 사용할 지 의논한 이후, 압축파일(zip)로 scp 를 통해 컴퓨터에 저장하여 보관하기로 결정했다.