Linux 系统中 Node.js 如何监控
导读:Linux 下 Node.js 监控实践指南 一 进程与服务监控 使用 PM2 进行进程守护与资源观测:安装命令为 npm install pm2 -g;常用命令包括:pm2 start app.js --name “my-app”(启动...
Linux 下 Node.js 监控实践指南
一 进程与服务监控
- 使用 PM2 进行进程守护与资源观测:安装命令为 npm install pm2 -g;常用命令包括:pm2 start app.js --name “my-app”(启动并命名)、pm2 status(查看状态)、pm2 monit(实时资源监控)、pm2 logs my-app(查看日志)。PM2 支持集群、自动重启、日志管理与开机自启,适合生产环境的一站式进程管理。
- 使用 systemd 将应用作为系统服务托管:创建服务文件 /etc/systemd/system/my-app.service,关键配置示例:
ExecStart=/usr/bin/node /path/to/app.js
WorkingDirectory=/path/to/app
User=your-user
Environment=NODE_ENV=production
Restart=always
常用命令:sudo systemctl start my-app、sudo systemctl status my-app、sudo journalctl -u my-app -f(实时查看服务日志)。systemd 提供稳定的进程生命周期管理与日志归集,适合系统级运维。
二 日志监控与可视化
- 实时与检索:使用 tail -f /path/to/app.log 实时跟踪日志;结合 grep ‘keyword’ 做关键字过滤;用 watch -n 1 “tail -n 10 /path/to/app.log” 定时刷新尾部日志。
- 结构化与轮转:在代码中集成 Winston 或 Bunyan 等日志库,统一日志级别、格式与输出目标,并配置日志轮转策略,便于长期留存与检索。
- 集中化与可视化:引入 ELK Stack(Elasticsearch/Logstash/Kibana)、Graylog 或 Fluentd,实现多实例日志的集中采集、分析与可视化,支撑告警与审计。
三 系统级资源监控
- 基础观测:使用 top/htop 查看进程 CPU/内存 占用;vmstat 观察进程、内存、分页、块 I/O 与 CPU 活动;iostat 监控磁盘 I/O;free 查看内存使用;df 报告文件系统空间。
- 增强工具:在 CentOS 可安装 nmon/atop 做更全面的资源与历史趋势观测;在 Debian 系可使用 sysstat 工具包(含 sar)收集与报告系统性能数据,便于容量规划与瓶颈定位。
四 应用性能与深度分析
- 内置指标与健康检查:在代码中调用 process.memoryUsage()、process.cpuUsage() 获取进程级资源快照,结合 /health 或 /status 端点暴露关键指标(如 RSS、堆内存、事件循环延迟 等),便于监控系统或网关探活与拉取指标。
- 调试与剖析:使用 node --inspect 或 node --inspect-brk 连接 Chrome DevTools Performance 面板进行 CPU/内存剖析;使用 node --prof 与 node --prof-process 生成并分析 V8 性能日志,定位热点函数与内存分配。
- APM 与分布式追踪:接入 New Relic、Datadog 等 APM,获取 事务追踪、依赖调用链、错误与慢事务分析 等深度可观测能力,结合指标与日志实现端到端排障。
五 快速落地方案
- 小型或单机部署:用 PM2 启动应用(如 pm2 start app.js --name “my-app”),通过 pm2 monit 观测资源,使用 pm2 logs my-app 实时查看日志;按需接入 Winston/Bunyan 做结构化日志。
- 系统服务化与集中观测:以 systemd 托管(配置 Restart=always),用 journalctl -u my-app -f 查看服务日志;系统层面用 htop/nmon 观测资源;日志统一到 ELK/Graylog;应用侧暴露 /status 端点并接入 New Relic/Datadog 做 APM 与告警。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux 系统中 Node.js 如何监控
本文地址: https://pptw.com/jishu/773149.html
