商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Node.js 在 Linux 上如何监控

Node.js 在 Linux 上如何监控

  发布于2026-07-07 阅读(0)

扫一扫,手机访问

Node.js 在 Linux 上的监控实践

Node.js 在 Linux 上如何监控

监控这件事,说复杂也复杂,说简单也简单。关键是把层次拆清楚,工具选对,流程跑通。下面从整体思路开始,一步步落地。

一 监控分层与总体思路

监控可以从五个维度来看:先是应用进程和业务指标——用 PM2 管理进程、查看资源、收集日志,或者在代码里用 process 模块把关键指标输出来。然后是系统资源层,用 top/htopvmstatiostatfreedf 盯住 CPU、内存、磁盘 I/O 和文件系统。第三层是日志链路,Winston、Bunyan、Pino 这类结构化日志工具是标配,配上 ELK(Elasticsearch/Logstash/Kibana)、Graylog 或 Splunk 做检索和可视化,排查问题效率会高很多。第四层是指标与可视化,可以自建 Prometheus + Grafana 看板,也可以直接用 New Relic、Datadog 这些 APM 服务。最后是性能剖析,用 node --inspect 配合 Chrome DevTools 做 CPU 和内存分析,精准定位热点和泄漏。

二 快速上手 PM2 与应用内监控

PM2 是 Node 生态里最常用的进程管理工具,没有之一。下面几个步骤就能把监控基础搭起来。

安装与启动

  • 安装:sudo npm install -g pm2
  • 启动:pm2 start app.js --name my-app
  • 常用命令:pm2 list(查看进程列表)、pm2 monit(实时资源监控)、pm2 logs my-app(查看日志)、pm2 startup(设置开机自启)、pm2 sa ve(持久化当前进程列表)

进程守护与服务编排

用 systemd 管理 Node 服务是个更稳妥的方案——在服务配置里加上 Restart=always,进程崩溃后自动重启。配合 PM2 做多实例和负载均衡,生产环境基本就稳了。

应用内指标示例

在代码里输出一些关键指标非常实用:process.memoryUsage() 可以拿到常驻内存和堆大小,process.cpuUsage() 得到用户态和内核态的 CPU 时间。这些数据跟系统层的指标一对照,哪个环节出问题一目了然。

三 系统级监控与网络诊断

系统工具虽然古老,但老家伙们往往最靠谱。遇到卡顿或高负载,先翻它们的牌。

  • 资源总览与进程定位top/htop 按 CPU% 或 MEM% 排序,立刻找到哪个 Node 进程在吃资源。
  • 深入系统vmstat 3 给出进程、内存、I/O、CPU 的概览;iostat -x 能看出磁盘 I/O 是不是瓶颈;free -m 看内存使用详情;df -h 检查磁盘空间。
  • 历史与综合sar -u 1 3 看 CPU 使用率,sar -r 1 看内存,前提是装了 sysstat 包。
  • 网络与进程流量nethogs 可以按进程显示带宽占用,iftop 则按连接看实时流量——排查网络波动时特别好用。

四 日志与 APM 的可观测性方案

日志和 APM 是“看见”系统运行状态的两只眼睛。结构化日志让查询变得像在数据库里做 SQL,APM 则帮你画出调用链路和依赖地图。

结构化日志

  • 库选型:Winston、Bunyan、Pino 三选一,输出 JSON 格式,带上 requestIduserId 等上下文,后续检索聚合效率翻倍。
  • 传输与存储:日志可以写到控制台、文件,或者通过 HTTP 发送出去。集中到 ELK、Graylog 或 Splunk 后,画图表、设告警都很方便。

APM 与可视化

  • 商业与托管:New Relic、Datadog 这类 APM 工具开箱即用,事务追踪、错误聚合、依赖地图、仪表盘一应俱全。
  • 自建可观测性:用 Prometheus 采集自定义指标,比如 HTTP 延迟、事件循环延迟、内存和 GC 数据,再配上 Grafana 做可视化看板,还能设置阈值告警。自己掌控,灵活度更高。

五 性能剖析与故障定位

当线上真的出了性能问题,光靠日志和 stats 可能还不够,得掏出更锋利的工具做定点排查。

CPU/内存热点定位

带上 --inspect 参数启动应用:node --inspect app.js,然后用 Chrome DevTools 的 Performance 和 Memory 面板做 CPU 采样、内存快照。配合 PM2 monit 和系统 top/htop 观察资源变化,修复后马上能验证效果。

快速排查清单

总结一个实用的排查流程:先看 PM2 日志和异常堆栈,定位错误或异常;再看系统资源(CPU、内存、磁盘、网络)有没有异常波动;接着用 DevTools 做 CPU 采样或内存快照,找到热点代码或泄漏点;最后回归业务指标——延迟、吞吐、错误率,确认恢复。按这个顺序走,大部分问题都能快速锁定。

本文转载于:https://www.yisu.com/ask/93889027.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注