文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

node 使用 pm2 日志管理及使用 pm2-logrotate 进行日志分割

2023-10-04 20:16

关注

目录

1. 需求背景 

2. 什么是 pm2-logrotate ?

3. 查看 pm2 自带的日志管理

4. 安装 pm2-logrotate

5. 查看配置指令 

6. pm2-logrotate 具体配置说明

7. 如何设置这些值? 

8. 停止 pm2-logrotate 服务

9. 补充:pm2 常用命令


1. 需求背景 

        pm2 日志文件默认存放位置在(Linux: /root/.pm2/logs)(Windows:C:\Users\Administrator\.pm2\logs)  中,它默认有两个文件文件,一个错误记录 xxx-errot.log,一个正常记录 xxx-out.log;随着时间的拉长,文件会慢慢变大,不方便阅读也不方便部分删除。

        此时可以使用 pm2-logrotate 对 pm2 日志进行优化处理,解决 pm2 日志体积过大的问题,进行日志文件的分割。

2. 什么是 pm2-logrotate ?

pm2-logrotate 是一个 pm2 的插件,可以对 pm2 日志进行管理,所以它的运行需要依靠 pm2。

3. 查看 pm2 自带的日志管理

        首先我们看看 pm2 的自带日志管理功能,pm2 的日志模块默认是每一个服务进程都分配两个默认的日志文件,这两个日志文件存放于 /root/.pm2/logs 中。

        启动项目后,可以通过命令 pm2 logs id/name 查看指定服务进程的 log 路径,此时屏幕上会同时输出 error log 和实时 log, 同时会打印出日志文件的路径, 如下:

C:\Users\Administrator>pm2 logs 0[TAILING] Tailing last 15 lines for [0] process (change the value with --lines option)D:\xxx\xxx\logs\00.services .err.log last 15 lines:······D:\xxx\xxx\logs\00.services .out.log last 15 lines:······

        但是 pm2 自带的日志功能是不支持自动分割的,这就会导致随之时间的推移,我们的日志文件会越来越大,不但会影响性能,在后期排查问题的时候也会很麻烦,这时我们就可以使用 pm2-logrotate 插件来解决上面的问题。 

4. 安装 pm2-logrotate

注:该命令是 pm2 install 不是 npm install

pm2 install pm2-logrotate

安装完成后就可以通过 pm2 list/ls 命令查看模块列表了:

5. 查看配置指令 

通过 pm2 conf pm2-logratate 可以查看详细的配置:

C:\Users\Administrator>pm2 conf pm2-logratateModule: pm2-logrotate$ pm2 set pm2-logrotate:max_size 10M$ pm2 set pm2-logrotate:retain 30$ pm2 set pm2-logrotate:compress false$ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss$ pm2 set pm2-logrotate:workerInterval 30$ pm2 set pm2-logrotate:rotateInterval 0 0 * * *$ pm2 set pm2-logrotate:rotateModule trueModule: module-db-v2$ pm2 set module-db-v2:pm2-logrotate [object Object]

6. pm2-logrotate 具体配置说明

7. 如何设置这些值? 

设置的话就是重写了配置项。

#1. 比如设置每个文件的最大存储为 1KBpm2 set pm2-logrotate:max_size 1K#2. 比如设置保留文件个数为 10 个pm2 set pm2-logrotate:retain 10#3. 如果有设置分割时间的话,使用英文双引号pm2 set pm2-logrotate:rotateInterval "30 * * * * *"

        当日志文件大小达到 1KB 就会自动分割,格式如:服务名-out__2022-12-19_14-41-42.log 的文件:

8. 停止 pm2-logrotate 服务

        以前旧版本的 pm2-logrotate 想要停止,就只能卸载服务,现在新版本的可以使用 pm2 stop 进程 id。使用 pm2 list 查看到 pm2-logrotate 进程 id 为 2 ,执行 pm2 stop 2 即可停止服务:

9. 补充:pm2 常用命令

reload 与 restart 区别:

        也就说,使用 reload,pm2 会逐个重新启动所有进程,始终保持至少一个进程运行。如果 reload 重新加载系统没有成功地重新加载应用程序,则超时将回退到经典的重新启动即 restart。

提示:除了指定 name 之外, 还可以使用 all: 全部程序,id: 该程序的 id

来源地址:https://blog.csdn.net/weixin_46560589/article/details/128371807

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯