当前位置: 首页 > 后端技术 > Node.js

pm2和pm2-logrotate日志管理初步学习

时间:2023-04-03 14:42:32 Node.js

pm2和pm2-logrotate日志管理初步学习官网:https://pm2.keymetrics.io/ADVANCED,PRODUCTIONPROCESSMANAGERFORNODE.JSadvanced,Node.js生产环境进程守护进程。0x1安装npminstallpm2@latest-g0x2基本命令$pm2startapp.js-i4#后台运行pm2,启动4app.js#也可以传'max'参数启动#正确的进程数取决于CPU的核心数$pm2startapp.js-imax#根据有效CPU数启动最大数量的进程$pm2startapp.js--namemy-api#给进程命名$pm2list#显示所有进程状态$pm2monit#监控所有进程$pm2logs#显示所有进程日志$pm2stopall#停止所有进程$pm2restartall#重启所有进程$pm2reloadall#0秒停止重新加载进程(对于NETWORKED进程)$pm2stop0#停止指定的进程$pm2restart0#重启指定的进程$pm2startup#生成初始化脚本以保持进程存活$pm2web#运行一个健壮的计算机API端点(http://localhost:9615)$pm2delete0#杀死指定进程$pm2deleteall#杀死所有进程$pm2infoapp#参考名为app的信息日志管理。默认安装了pm2-logrotatepm2的日志模块。每个服务进程都分配有两个默认日志文件。这两个日志文件存放在/root/.pm2/logs中,如果pm2管理了5个服务,这个文件夹下一共有10个日志文件,随着时间的不断增加,很容易在上面产生很多日志文件g、导致服务器Insufficientdiskspace问题forpm2installpm2-logrotate配置max_size(默认为10M):当文件大小变得大于此值时,它将对其进行轮换(工作人员可能会在实际超过限制后检查文件)。结束时可以指定单位:10G、10M、10K配置项默认为10MB,并不是说切割日志文件的大小一定要10MB,而是在检查时日志文件大小达到max_size时,日志切割是触发retain(默认为30个文件日志):这个数字是在任何时候保留的旋转日志的数量,这意味着如果你有retain=7你将最多有7个旋转日志和你当前的一个。这个数字是任何时候要保留的拆分日志的数量,这意味着如果你保留7,那么你将最多有7个拆分日志和你当前的一个压缩(默认为false):通过gzip为所有旋转日志启用压缩启用gzip所有拆分日志的压缩dateFormat(默认为YYYY-MM-DD_HH-mm-ss):使用名称的数据格式日志文件名格式规则的文件rotateModule(默认为true):像其他一样旋转pm2模块的日志应用程序像其他应用程序一样拆分pm2模块的日志workerInterval(默认为30秒):您可以控制工作人员检查日志大小的间隔(最小值为1)检查日志大小的间隔(最小值为1)以秒为单位(控制模块检查日志大小的循环时间,默认30s检查一次)rotateInterval(默认为00***每天午夜):这个cron是用来在执行时强制轮换.我们正在使用node-schedule来安排cron,因此所有node-schedule的有效cron都是t的有效cron他的选择。Cron样式:多久备份一次******┬┬┬┬┬│││││|│││││└星期几(0-7)(0或7是星期日)│││││└──────月(1-12)│││└──────────月中的第几天(1-31)││└────────────────时(0-23)│└──────────────────────分(0-59)└──────────────────────────────秒(0-59,可选)TZ(默认为系统时间):这是标准的tz数据库时区,用于偏移保存的日志文件。例如,Etc/GMT+1的值,每小时记录一次,将在格林威治标准时间14点保存文件,日志名称为13点(GMT+1)。如何设置时区(默认为系统时区)?安装模块后,您必须键入:pm2setpm2-logrotate:示例:pm2setpm2-logrotate:max_size1K(1KB)pm2setpm2-logrotate:compresstrue(旋转时压缩日志)pm2setpm2-logrotate:rotateInterval'*/1****'(强制每分钟旋转)我的设置$pm2setpm2-logrotate:max_size10M$pm2setpm2-logrotate:dateFormatYYYY-MM-DD_HH-mm-ss#文件名时间格式$pm2setpm2-logrotate:workerInterval3600$pm2setpm2-logrotate:rotateInterval00***$pm2setpm2-logrotate:TZAsia/上海#中国时区参考:https://www.jianshu.com/p/54bc346d2406作者:kelvv