温馨提示×

CentOS上Node.js应用如何监控

小樊
63
2025-05-08 20:47:15
栏目: 编程语言

在CentOS上监控Node.js应用可以通过多种工具和方法实现,以下是一些常用的方法和工具:

使用PM2进行监控

  • 安装PM2
    sudo npm install -g pm2@latest 
  • 启动应用并监控
    pm2 start app.js --name myapi 
  • 查看应用状态
    pm2 list 
  • 设置自动重启
    pm2 set pm2hasrestartdelay 1000 pm2 set pm2restartdelay 1000 pm2 set pm2maxrestarts 5 pm2 set pm2memoryrestart 100M 

使用系统监控工具

  • 安装和启动htop
    sudo yum install htop htop 
  • 安装和启动glances
    sudo yum install glances glances 
  • 安装和启动sar
    sudo yum install sysstats sar -u 1 # 显示CPU使用情况 sar -r 1 # 显示内存使用情况 
  • 安装和启动nmon
    sudo yum install nmon nmon 

使用APM工具

  • Retrace:一个基于云的APM工具,提供集中的日志和基本的服务器指标以及错误和日志集成。
  • App Metrics:一个开源的性能监控工具,由IBM管理,专注于提供各种应用进程的原始数据测量。
  • Prometheus:一个流行的Node.js性能管理工具,具有清晰的可视化、可用性和集成性。

日志记录

  • 使用Winston进行日志记录:
    const winston = require("winston"); const logger = winston.createLogger({ level: "info", transports: [ new winston.transports.Console(), new winston.transports.File({ filename: "combined.log" }), ], }); logger.info("启动应用程序..."); 

性能监控工具

  • Easy-Monitor:一个开源的监控工具,可以监控内存、CPU、GC、进程、磁盘等系统指标。
  • Prometheus + Grafana:Prometheus用于采集性能指标,Grafana用于展示各种数据图表,支持Prometheus的接入。
  • Nmon:一个实用的性能监控工具,能够提供详尽的CPU、内存、磁盘I/O等数据。

实时文件监控和同步

  • 使用fs.watch API实时监控文件或目录的变化,并结合SSH2实现安全的文件传输到云端。

系统监控

  • uptime-kuma:一个开源的服务器监控和状态检测工具,提供直观的图形用户界面,实时反馈服务器的可用性、性能和健康状况。
  • Monitorix:一个开源的系统监控工具,可以展示系统各项指标的信息,如CPU、内存、磁盘I/O等。

网络监控

  • Nethogs:一个终端下的网络流量监控工具,可以显示每个进程的带宽占用情况。
  • iftop:一个实时流量监控工具,用于监控网卡的实时流量、反向解析IP、显示端口信息等。

通过上述方法,你可以在CentOS上有效地监控Node.js应用,确保其稳定性和性能。选择合适的监控工具和方法,可以帮助你及时发现并解决问题,提高应用的可靠性和用户体验。

0