在Linux上监控Node.js应用可通过以下方式:
- 进程管理工具
- pm2:支持启动、停止、重启应用,实时监控CPU/内存使用、日志输出,适合生产环境。
- nodemon:开发环境专用,监控文件变化并自动重启应用。
- 系统级监控工具
- top/htop:实时查看CPU、内存占用,定位进程资源消耗。
- vmstat/iostat:监控虚拟内存、磁盘I/O等系统级指标。
- 第三方监控方案
- Prometheus+Grafana:通过Node.js客户端库暴露指标,结合Grafana可视化,适合复杂监控需求。
- New Relic/Datadog:商业级APM工具,提供性能分析、日志管理及告警功能。
- Node.js内置工具
- process模块:通过
process.cpuUsage()、process.memoryUsage()获取进程资源使用数据。 - console.time():测量代码执行时间,定位性能瓶颈。
- 日志分析
- 使用ELK Stack(Elasticsearch+Logstash+Kibana)或Graylog分析应用日志,排查异常。
根据需求选择工具,轻量级场景可用pm2、htop,复杂场景推荐Prometheus+Grafana或商业APM工具。