在 CentOS 上监控 Node.js 应用可以通过多种方法来实现。以下是一些常用的方法和工具:
PM2 是一个非常流行的 Node.js 进程管理器,它可以帮助你监控和管理 Node.js 应用。
sudo yum install -y nodejs npm
sudo npm install pm2 -g
pm2 start app.js --name my-app
pm2 monit
pm2 logs my-app
process
模块Node.js 提供了 process
模块,可以用来获取一些基本的系统信息。
console.log(process.cpuUsage());
console.log(process.memoryUsage());
Prometheus 是一个开源的监控系统和时间序列数据库,Grafana 是一个开源的分析和监控平台。
sudo yum install -y prometheus
编辑 /etc/prometheus/prometheus.yml
文件,添加你的 Node.js 应用的监控配置。
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9090']
sudo systemctl start prometheus
sudo yum install -y grafana
sudo systemctl start grafana-server
在 Grafana 中添加 Prometheus 作为数据源,并创建仪表盘来监控你的 Node.js 应用。
New Relic 是一个商业监控服务,提供了详细的性能监控和分析。
npm install newrelic --save
在 newrelic.js
文件中配置你的 New Relic 许可证密钥。
exports.config = {
licenseKey: 'YOUR_LICENSE_KEY',
app_name: 'My Node.js App'
};
NODE_ENV=production node app.js
ELK Stack 是 Elasticsearch、Logstash 和 Kibana 的组合,可以用来收集、存储和分析日志。
sudo yum install -y elasticsearch
sudo systemctl start elasticsearch
sudo yum install -y logstash
sudo systemctl start logstash
sudo yum install -y kibana
sudo systemctl start kibana
编辑 /etc/logstash/conf.d/nodejs.conf
文件,添加你的 Node.js 应用的日志收集配置。
input {
file {
path => "/path/to/your/nodejs/logs/*.log"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "nodejs-logs-%{+YYYY.MM.dd}"
}
}
通过这些方法,你可以在 CentOS 上有效地监控你的 Node.js 应用。选择哪种方法取决于你的具体需求和偏好。