在Ubuntu上监控Node.js应用运行状态,可根据需求选择以下工具和方法:
- PM2:
- 安装:
sudo npm install pm2 -g - 启动应用:
pm2 start app.js --name "my-app" - 监控状态:
pm2 status(查看进程状态)、pm2 monit(实时监控CPU/内存)、pm2 logs(查看日志)。
- 安装:
- systemd(适合生产环境):
- 创建服务文件:
sudo nano /etc/systemd/system/my-app.service,配置ExecStart为Node.js应用路径,设置Restart=always。 - 启动服务:
sudo systemctl start my-app,查看状态:sudo systemctl status my-app。
- 创建服务文件:
- 开发环境工具:
- nodemon:安装后启动应用,自动重启文件变更(
npm install nodemon -g,nodemon app.js)。
- nodemon:安装后启动应用,自动重启文件变更(
- 系统级监控工具:
- htop:交互式查看进程资源占用(
sudo apt install htop,运行后筛选Node.js进程)。 - top/htop:基础进程监控,查看CPU/内存使用情况。
- htop:交互式查看进程资源占用(
- 第三方监控服务:
- Prometheus + Grafana:通过
prom-client库暴露指标,Grafana展示图表。 - New Relic/Datadog:提供性能、错误跟踪和日志分析。
- Prometheus + Grafana:通过
- 内置性能分析:
- 使用
process.memoryUsage()获取内存占用,或通过v8-profiler、heapdump分析内存泄漏。
- 使用
根据场景选择:开发环境用nodemon,生产环境推荐PM2或systemd,复杂监控需求可结合Prometheus等工具。