在 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 應用。選擇哪種方法取決于你的具體需求和偏好。