前言
Node.js 是一种非常流行的服务器端语言,众多的 Web 应用程序都是基于它开发的。而 PM2(Process Manager 2)是一种 Node.js 进程管理工具,它可以帮助我们简化 Node.js 应用程序的部署、监控、自动重启等操作。本文将介绍如何使用 PM2 监控 Node.js 应用程序,并通过数据可视化实现更加直观的监控效果。
安装 PM2
在开始使用 PM2 之前,我们需要先安装它。可以通过以下命令安装:
npm install pm2 -g
使用 PM2
启动应用程序
使用 PM2 启动应用程序非常简单,只需要在命令行中执行以下命令即可:
pm2 start app.js
其中,app.js
是我们要启动的 Node.js 应用程序的入口文件。如果应用程序有其他依赖项,PM2 也可以自动处理它们。
监控进程
PM2 提供了一个内置的监控面板,可以帮助我们实时监控应用程序的运行情况。只需要在命令行中执行以下命令:
pm2 monit
这将打开一个实时监控面板,显示当前运行的所有进程的 CPU、内存、网络等相关信息。可以使用上下左右箭头键来选择要查看的进程,使用 q
键退出监控面板。
自动重启
如果应用程序出现了崩溃或异常退出的情况,PM2 可以自动重启它。只需要在启动应用程序时添加 --watch
参数:
pm2 start app.js --watch
这将启用文件系统监视功能,如果应用程序的代码发生了变化,PM2 会自动重启它。
管理进程
PM2 还提供了许多其他的命令,可以帮助我们管理进程。例如,可以使用以下命令列出当前正在运行的所有进程:
pm2 list
可以使用以下命令重启某个进程:
pm2 restart app.js
可以使用以下命令停止某个进程:
pm2 stop app.js
可以使用以下命令删除某个进程:
pm2 delete app.js
数据可视化
PM2 自带的监控面板虽然功能强大,但是它的图表显示效果并不是很好。为了实现更加直观的监控效果,我们可以使用第三方库实现数据可视化。
安装依赖项
我们将使用 PM2 Plus 和 Grafana 来实现数据可视化。首先,我们需要注册一个 PM2 Plus 账号,并创建一个组织。然后,可以使用以下命令安装 PM2 Plus:
pm2 install pm2-plus
接下来,我们需要安装 Grafana。可以使用以下命令安装:
sudo apt-get install -y apt-transport-https sudo apt-get install -y software-properties-common wget wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" sudo apt-get update sudo apt-get install grafana
配置 PM2 Plus
在 PM2 Plus 控制台中,创建一个新的服务器,并将其与组织关联。然后,可以使用以下命令将本地的 PM2 进程与 PM2 Plus 关联:
pm2 plus init
接下来,需要将 PM2 Plus 的 API 密钥添加到 PM2 的配置文件中。可以使用以下命令打开配置文件:
pm2 plus config
在配置文件中添加以下内容:
{ "plus": { "api_key": "YOUR_API_KEY_HERE", "organization_id": "YOUR_ORGANIZATION_ID_HERE" } }
将 YOUR_API_KEY_HERE
和 YOUR_ORGANIZATION_ID_HERE
替换为实际的 API 密钥和组织 ID。
配置 Grafana
打开 Grafana,使用默认的用户名和密码登录。然后,添加一个新的数据源,选择 PM2 Plus 作为类型,并配置相应的 API 密钥和组织 ID。测试连接是否成功后,保存数据源。
接下来,创建一个新的仪表盘,并添加一个新的面板。选择 PM2 Plus 数据源,并配置相应的查询语句。可以使用以下语句查询某个进程的 CPU 使用率:
SELECT mean("value") FROM "pm2_process_cpu" WHERE "process_name" = 'app.js' AND $timeFilter GROUP BY time($__interval) fill(null)
将 app.js
替换为实际的进程名称。可以使用类似的语句查询其他指标,例如内存使用率、网络流量等。
最后,可以使用 Grafana 的图表编辑器来自定义图表的样式和布局。保存面板后,即可在仪表盘中查看实时的监控数据。
总结
本文介绍了如何使用 PM2 监控 Node.js 应用程序,并通过数据可视化实现更加直观的监控效果。通过使用 PM2 Plus 和 Grafana,我们可以方便地实现高效、可靠的进程管理和监控。希望本文对你有所帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/650808c295b1f8cacd331ab9