PM2是Nodejs流行的守护进程管理器适用于生产环境的完整功能集,将帮助您管理和保持应用程序 24/7 在线。
流程管理器是一个“容器””,它有助于部署,使您能够在运行时管理(启动、重新启动、停止等)应用程序,并提供高可用性。
在本文中,我们将展示如何从命令行和 Web 上使用PM2监控Nodejs应用程序。本指南假设您已经在 Linux 系统上安装了PM2,并且已经使用它运行 Nodejs 应用程序。否则,请检查:
- 如何安装 PM2 以在生产服务器上运行 Node.js 应用程序
注意:本文中的所有命令均以 root 用户身份运行,或者如果您以有权调用 sudo 的管理用户身份登录,则使用sudo 命令。
在本页
- 使用 PM2 终端监控 Nodejs 应用程序
- 使用 PM2 Web 仪表板监控 Nodejs 应用程序
- 使用 pm2-server-monit 监控 Nodejs 服务器资源
让我们开始吧…
使用 PM2 终端监控 Nodejs 应用程序
颗粒物提供基于终端的仪表板,可帮助您监控应用程序的资源(内存和 CPU)使用情况。您可以通过运行以下命令来启动仪表板。
# pm2 监控
运行后,使用左/右箭头切换至总机或部分。要查看应用程序的日志,请首先从进程列表中选择它(使用向上/向下箭头)。
![](https://www.alaica.com/wp-content/uploads/linux-994.png)
基于终端的监控仅适用于在单个服务器上运行的应用程序。要监控和诊断跨服务器应用程序,请使用PM2基于 Web 的仪表板。
使用 PM2 基于 Web 的仪表板监控 Nodejs 应用程序
PM2 Plus(PM2 基于网络的仪表板)是一种先进的实时监控和诊断工具。它提供了强化当前PM2 的功能和跨服务器生产中监控应用程序的功能。它具有问题和异常跟踪、部署报告、实时日志、电子邮件和松弛通知、自定义指标监控和自定义操作中心。
免费计划允许您连接最多 4 个服务器/应用程序。要开始测试PM2 plus,请转至app.pm2.io,然后按照以下屏幕截图所示进行注册。
![](https://www.alaica.com/wp-content/uploads/linux-995.png)
成功登录后,创建一个存储桶来对您的Nodejs服务器/应用程序进行分组。在这个例子中,我们调用了我们的bucket Example-APIs
。然后单击创建。
![](https://www.alaica.com/wp-content/uploads/linux-996.png)
接下来,将PM2链接到PM2.io并复制以下界面中突出显示的命令。
![](https://www.alaica.com/wp-content/uploads/linux-997.png)
然后在Nodejs应用服务器上运行上述命令。
# pm2 链接 7x5om9uy72q1k7t d6kxk8ode2cn6q9
![](https://www.alaica.com/wp-content/uploads/linux-998.png)
现在在PM2.io主界面上,您应该连接一台服务器,以展开模式显示所有 Nodejs 进程的列表。对于连接的每台服务器,仪表板会显示服务器硬件组件,例如 RAM 量和 CPU 类型。它还显示当前安装的 Nodejs 和 PM2 的版本。
对于每个进程,您将看到 CPU 百分比及其消耗的内存量等等。如果您使用版本控制,它还会显示分支和上次合并的详细信息。
![](https://www.alaica.com/wp-content/uploads/linux-999.png)
取消与服务器的链接app.pm2.io
监控仪表板的链接,请在要取消链接的服务器上运行以下命令:
# pm2 取消链接
![](https://www.alaica.com/wp-content/uploads/linux-1000.png)
运行上述命令后,您可以从服务器中删除服务器app.pm2.io
。
使用 pm2-server-monit 监控您的服务器资源
pm2-server-monit是PM2模块,用于自动监控服务器的关键方面,例如 CPU 平均使用率、可用和已用驱动器空间、可用和已用内存空间、所有正在运行的进程、打开的 TTY/SSH、打开文件的总数,以及网络速度(输入和输出)。
要安装它,请运行以下命令:
# pm2 安装 pm2-server-monit
![](https://www.alaica.com/wp-content/uploads/linux-1001.png)
如果PM2链接到app.pm2.io
,pm2-server-monit应自动出现在受监控进程列表中。现在,您可以从 Web 仪表板监控服务器资源,如下图所示。
![](https://www.alaica.com/wp-content/uploads/linux-1002.png)
删除pm2-server-monit要从服务器中
# pm2 卸载 pm2-server-monit
现在就这样了!您可以通过下面的反馈表与我们分享您对使用PM2监控 Nodejs 应用程序的想法。