pm2的日志模块默认是每一个服务进程都分配两个默认的日志文件
- 普通日志
- 错误日志
这两个日志文件存放于/root/.pm2/logs中,如果pm2管理5个服务,那么该文件夹下总共有10个日志文件,并且随着时间不断增加,很容易就会产生很多个上g的日志文件,导致了服务器的磁盘空间不足的问题
解决方法:
- 合并日志: 将所有服务的日志合并到一个日志文件中
- 循环回滚保存 : 可以选择1小时保存一份版本并且压缩,合并日志清空,重新记录
- 利用错误收集系统,保证服务的错误正常收集
- 在pm2的配置文件中加入以下配置项
output: '/root/.pm2/logs/out.log',
error: '/root/.pm2/logs/error.log',
merge_logs: true
- 安装pm2-logrotate
pm2 install pm2-logrotate@2.2.0
- 配置循环回滚策略
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ |
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
pm2 set pm2-logrotate:rotateInterval '* * */1 * *' //每小时备份
pm2 set pm2-logrotate:compress true //压缩
pm2 set pm2-logrotate:retain 3 //备份最多3份,也就是备份最进3小时的日志
```
网友评论