pm2的日志管理

闪电
闪电
闪电
57
文章
0
评论
2020年4月26日09:43:48 评论 90

pm2的日志模块默认是每一个服务进程都分配两个默认的日志文件

  • 普通日志
  • 错误日志
    这两个日志文件存放于/root/.pm2/logs中,如果pm2管理5个服务,那么该文件夹下总共有10个日志文件,并且随着时间不断增加,很容易就会产生很多个上g的日志文件,导致了服务器的磁盘空间不足的问题

解决方法:

  1. 合并日志: 将所有服务的日志合并到一个日志文件中
  2. 循环回滚保存 : 可以选择1小时保存一份版本并且压缩,合并日志清空,重新记录
  3. 利用错误收集系统,保证服务的错误正常收集
  • 在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小时的日志
weinxin
我的微信
微信扫一扫
闪电
  • 本文由 发表于 2020年4月26日09:43:48
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
30行代码造了一个1494start项目的轮子 Nodejs

30行代码造了一个1494start项目的轮子

1494个start的项目:minimist 30行代码轮子:argps 项目功能: 解析命令行启动用户所输入的参数,转成Object。 需要支持多个命令、重复参数合并到数组、监测无名字参数合并到_中...
一键部署项目和代码自动更新 Nodejs

一键部署项目和代码自动更新

my-deploy : 由nodejs写的一个自动更新工具,理论支持所有语言(php、java、c#)的项目,支持所有git仓库(bitbucket、github等)。 github 效果如何? 如果...
Node.js自动代码审核 Nodejs

Node.js自动代码审核

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. 简介 在团队开发中,无论是写前端(js,css,htm...
利用Mongodb做地理空间查询 数据库

利用Mongodb做地理空间查询

MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 前言 在移动开发中,经常会用到定位的功能,例如美团、饿了么、猫眼电影等的app...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: