在 CentOS 上监控 Node.js 应用的性能指标可以通过以下几种方法:
-
使用
watch
命令:watch
命令可以定期执行指定的命令,实时反馈服务器状态。例如,可以使用以下命令监控 Node.js 进程的状态:watch -n 1 ps aux | grep node
还可以监控服务器日志文件的变化:watch -n 1 tail -f /path/to/your/server.log
-
使用 Systemd:
- 将 Node.js 应用配置为 Systemd 服务,这样可以更方便地管理和监控。首先,创建一个 Systemd 服务文件,例如
kenniu.service
:[Unit] Description=My Node.js App After=network.target [Service] ExecStart=/usr/bin/node /path/to/entry.js Restart=always [Install] WantedBy=multi-user.target
然后启动并启用该服务:sudo systemctl start kenniu sudo systemctl enable kenniu sudo systemctl status kenniu
使用journalctl
命令查看相关日志:journalctl -u kenniu -t
- 将 Node.js 应用配置为 Systemd 服务,这样可以更方便地管理和监控。首先,创建一个 Systemd 服务文件,例如
-
使用第三方监控工具:
- New Relic 和 Datadog:这些工具能够提供全面的性能指标和实时监控功能,适用于生产环境。
- EasyMonitor:帮助精准定位代码中的性能瓶颈,集成简单,易于使用。
- nodeusage:提供实时资源使用数据,包括 CPU、内存和磁盘等详细指标。
-
日志管理工具:
- 使用
journalctl
查看系统日志:journalctl -u your-nodejs-service-name -t
- 使用第三方日志管理工具如 Logstash、Fluentd 或 Graylog 收集、分析和存储 Node.js 日志。
- 使用
-
Node.js 内置模块:
- 使用
os
模块获取 CPU 和内存使用情况:const os = require('os'); function monitorCpuAndMemory() { setInterval(() => { const cpuUsage = os.cpuUsage(); const memoryInfo = os.freemem() / 1024 / 1024; console.log(`CPU Usage: ${cpuUsage}%`); console.log(`Memory Available: ${memoryInfo.toFixed(2)} MB`); }, 5000); } monitorCpuAndMemory();
- 使用
通过这些方法,可以有效地监控和管理 CentOS 上的 Node.js 应用性能指标,确保其稳定高效运行。