pm2 로그로 디스크가 가득 100% 되었습니다.
pm2 로그 관리하는 방법
답변과 관련되는: pm2 설정 정보 복원

1 답변

0 투표

PM2 로그가 계속 쌓여 디스크를 100% 채우는 문제는 크게 로그 회전(log rotation)불필요한 로그 정리 두 가지로 해결할 수 있습니다. 아래 방법을 참고하세요.


1. 당장 디스크를 확보하기

먼저 돌발 상황일 때는 기존 로그를 비워서 공간을 확보합니다.

# 모든 PM2 프로세스의 로그 버퍼를 비웁니다.
pm2 flush

# PM2가 관리하는 로그 파일(용량이 큰 out / error 로그)을 삭제합니다.
rm -f ~/.pm2/logs/*.log

주의: 로그를 완전히 지우면 과거 에러 또는 출력 기록을 잃습니다. 필요한 부분은 백업해 두세요.


2. PM2-built‑in 모듈로 로그 회전 설정

PM2 공식 플러그인인 pm2-logrotate 를 쓰면, 파일 크기나 보관 기간 기준으로 자동으로 로그를 잘라줍니다.

  1. 설치 및 활성화
    pm2 install pm2-logrotate
    
  2. 기본 설정 확인
    pm2 conf pm2-logrotate
    
  3. 예시:

    # 로그 최대 크기를 10MB로 제한 (이상 넘어가면 회전)
    pm2 set pm2-logrotate:max_size 10M
    
    # 보관할 로그 파일 개수를 5개로 제한
    pm2 set pm2-logrotate:retain 5
    
    # 하루에 한 번 회전
    pm2 set pm2-logrotate:rotateInterval '0 0 * * *'
    
    # rotate 시 압축 활성화
    pm2 set pm2-logrotate:compress true
    

설정 후 PM2가 자동으로 로그를 잘라주기 때문에 디스크 과다 사용을 방지할 수 있습니다.


3. 시스템 logrotate 이용하기

OS 차원에서 관리하고 싶다면, /etc/logrotate.d/pm2 파일을 만들어 아래처럼 설정할 수 있습니다.

sudo tee /etc/logrotate.d/pm2 <<'EOF'
~/.pm2/logs/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
}
EOF
  • daily : 하루에 한 번
  • rotate 7 : 최대 7일치
  • compress : 압축 보관
  • copytruncate : 서비스를 재시작하지 않고 파일 크기만 잘라냄

설정 완료 후 logrotate가 매일 자동으로 실행되어 로그를 관리합니다.


4. PM2 프로세스별 로그 분리 및 설정

ecosystem.config.js 등을 사용 중이라면, 앱별로 로그 파일 위치와 사이즈를 지정할 수 있습니다.

module.exports = {
  apps: [{
    name: 'my-app',
    script: './app.js',
    // 로그 최대 크기 10M, 보관 5개
    max_restarts: 5,
    error_file: '/var/log/pm2/my-app-error.log',
    out_file:   '/var/log/pm2/my-app-out.log',
    merge_logs: false,
    log_date_format: 'YYYY-MM-DD HH:mm Z',
    // pm2-logrotate 설정 덮어쓰기 (옵션)
    env: {
      PM2_LOG_ROTATE_MAX_SIZE: '10M',
      PM2_LOG_ROTATE_MAX_FILES: '5'
    }
  }]
};

이렇게 하면 앱 단위로도 세부 조정이 가능합니다.


요약

  1. 긴급: pm2 flush + rm ~/.pm2/logs/*.log
  2. 장기:
    • PM2‑logrotate (pm2 install pm2-logrotate)
    • 또는 시스템 logrotate
  3. 앱별: ecosystem.config.js 에서 로그 파일 경로 및 회전 설정

위 방법을 적용하면 PM2 로그로 인한 디스크 과다 사용 문제를 효과적으로 관리하실 수 있습니다.

구로역 맛집 시흥동 맛집
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
add
...