在CentOS上监控Node.js应用有多种方法,以下是一些常用的工具和步骤:
PM2是一个流行的Node.js进程管理工具,它可以帮助你监控和管理Node.js应用的运行状态。以下是使用PM2进行监控的基本步骤:
安装PM2:
sudo npm install pm2 -g
启动应用:
pm2 start app.js --name "my-app"
查看应用状态:
pm2 status
查看应用的实时日志:
pm2 logs my-app
监控应用的资源使用情况:
pm2 monit
Systemd是CentOS上常用的系统和服务管理器,你可以通过创建和配置Systemd服务来监控和管理Node.js应用。
创建Systemd服务文件:
sudo vi /etc/systemd/system/my-app.service
在文件中添加以下内容:
[Unit]
Description=Node.js Application Service
After=network.target
[Service]
User=your-user
WorkingDirectory=/path/to/your/app
ExecStart=/usr/bin/node /path/to/your/app/app.js
Restart=always
[Install]
WantedBy=multi-user.target
启动服务:
sudo systemctl start my-app
查看服务状态:
sudo systemctl status my-app
查看服务日志:
sudo journalctl -u my-app
Node.js提供了内置的process
和os
模块,可以用来获取进程和系统的信息。此外,还可以使用第三方库如express-status-monitor
来提供实时的服务器性能指标和健康检查。
// 使用process模块
const os = require('os');
const cpuUsage = process.cpuUsage();
console.log(`CPU Usage: ${cpuUsage.user} %`);
// 使用os模块
const totalMem = os.totalmem();
const freeMem = os.freemem();
console.log(`Total Memory: ${totalMem}, Free Memory: ${freeMem}`);
CentOS提供了一系列系统监视器命令,如top
、htop
、vmstat
、iostat
、free
、sar
等,可以用来监控系统性能和资源使用情况。
# 安装htop
sudo yum install htop
htop
# 安装sar
sudo yum install sysstats
sar -u 1 3
有许多第三方监控工具可用于监控Node.js应用程序,例如New Relic、Datadog和Prometheus。这些工具可以帮助你收集性能指标、错误报告和警报。
通过结合使用这些工具和方法,你可以有效地监控和管理CentOS上的Node.js应用,确保其稳定性和性能。