PM2-Monitor 和 PM2-Logrotate 的使用和配置

阅读时长 5 分钟读完

介绍

PM2 是一个用于管理 Node.js 应用的生产流程的工具,它提供了进程管理、负载均衡、日志管理、故障恢复等功能。PM2-Monitor 和 PM2-Logrotate 分别是 PM2 的两个插件,它们可以帮助我们更好地监控和管理 Node.js 应用的运行状态和日志输出。

PM2-Monitor 可以让我们通过 Web 界面查看应用的 CPU、内存、网络等运行状态,并可以设置告警阈值,当应用运行状态异常时自动发送告警。PM2-Logrotate 可以帮助我们自动轮转日志文件,避免日志文件过大导致磁盘空间不足。

本文将介绍如何使用和配置 PM2-Monitor 和 PM2-Logrotate。

安装

安装 PM2-Monitor 和 PM2-Logrotate 非常简单,只需要在命令行中运行以下命令即可:

PM2-Monitor 的使用和配置

启动 PM2-Monitor

启动 PM2-Monitor 非常简单,只需要在命令行中运行以下命令即可:

然后在浏览器中打开 http://localhost:9615/ 即可查看应用的运行状态。如果应用运行状态异常,可以在 PM2-Monitor 中设置告警阈值,当应用运行状态超过阈值时自动发送告警。

配置 PM2-Monitor

可以通过修改 PM2-Monitor 的配置文件来自定义一些配置项,配置文件的默认路径是 $HOME/.pm2/pm2-server-monit.json。

下面是一个 PM2-Monitor 配置文件的示例:

-- -------------------- ---- -------
-
  ------- -----
  ----------- --------
  ----------- ---------
  ------ ------
  ---------- ---
  ----------- ---
  --------- ---
  -------- -
    ------ ---
    --------- ---
    ---------- -
      ----- -----
      ----- ----
    -
  -
-

其中:

  • port:PM2-Monitor 监听的端口号,默认为 9615。
  • username 和 password:PM2-Monitor 的登录用户名和密码。
  • ssl:是否启用 SSL,如果启用 SSL,则需要设置 ssl_key、ssl_cert 和 ssl_ca。
  • alert:告警阈值,当应用运行状态超过阈值时自动发送告警。

通过 API 访问 PM2-Monitor

除了通过浏览器访问 PM2-Monitor 外,我们还可以通过 API 访问 PM2-Monitor,以便自动化监控和告警。

下面是一个通过 API 获取应用运行状态的示例:

-- -------------------- ---- -------
----- ----- - -----------------

---------------------------------------
  -------------- -- -
    ---------------------------
  --
  ------------ -- -
    ---------------------
  ---

PM2-Logrotate 的使用和配置

启动 PM2-Logrotate

启动 PM2-Logrotate 非常简单,只需要在命令行中运行以下命令即可:

其中:

  • compress:是否启用压缩。
  • rotateInterval:轮转时间间隔,支持 cron 表达式,默认为每天凌晨 0 点轮转。
  • max_size:单个日志文件的最大大小,默认为 10M。
  • retain:保留的日志文件数量,默认为 5。

配置 PM2-Logrotate

可以通过修改 PM2-Logrotate 的配置文件来自定义一些配置项,配置文件的默认路径是 $HOME/.pm2/pm2-logrotate.json。

下面是一个 PM2-Logrotate 配置文件的示例:

-- -------------------- ---- -------
-
  ----------- -----
  ----------------- -- - - - ---
  ----------- ------
  --------- --
  --------------- -----
  ----------------- ---
  ------------- ----------------------
  -------------- --
  ---------------- -----
  --------------- ------
  --------------- ------
  ----------------- -----
-

其中:

  • compress、rotateInterval、max_size 和 retain:同上。
  • rotateModule:是否启用轮转模块。
  • workerInterval:轮转模块的间隔时间,单位为秒,默认为 30。
  • dateFormat:日志文件名的日期格式,默认为 YYYY-MM-DD_HH-mm-ss。
  • workerCount:轮转模块的工作线程数,默认为 1。
  • rotateOnError:是否在发生错误时轮转日志文件。
  • rotateOnSize:是否在日志文件超过最大大小时轮转日志文件。
  • rotateOnOpen:是否在日志文件被打开时轮转日志文件。
  • rotateOnReboot:是否在系统重启时轮转日志文件。

总结

本文介绍了如何使用和配置 PM2-Monitor 和 PM2-Logrotate,它们可以帮助我们更好地监控和管理 Node.js 应用的运行状态和日志输出。通过本文的学习,读者可以更好地掌握 PM2 的使用和配置技巧,提高 Node.js 应用的生产环境部署和管理能力。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/657fa0e3d2f5e1655da7b2f0

纠错
反馈