centos

如何在 CentOS 上监控 Node.js 应用

小樊
34
2025-06-18 08:16:19
栏目: 编程语言

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

1. 使用 PM2

PM2 是一个非常流行的 Node.js 进程管理器,它可以帮助你监控和管理 Node.js 应用。

安装 PM2

sudo yum install -y nodejs npm
sudo npm install pm2 -g

启动应用

pm2 start app.js --name my-app

监控应用

pm2 monit

查看日志

pm2 logs my-app

2. 使用 Node.js 内置的 process 模块

Node.js 提供了 process 模块,可以用来获取一些基本的系统信息。

console.log(process.cpuUsage());
console.log(process.memoryUsage());

3. 使用第三方监控工具

Prometheus + Grafana

Prometheus 是一个开源的监控系统和时间序列数据库,Grafana 是一个开源的分析和监控平台。

安装 Prometheus
sudo yum install -y prometheus
配置 Prometheus

编辑 /etc/prometheus/prometheus.yml 文件,添加你的 Node.js 应用的监控配置。

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9090']
启动 Prometheus
sudo systemctl start prometheus
安装 Grafana
sudo yum install -y grafana
启动 Grafana
sudo systemctl start grafana-server
配置 Grafana

在 Grafana 中添加 Prometheus 作为数据源,并创建仪表盘来监控你的 Node.js 应用。

New Relic

New Relic 是一个商业监控服务,提供了详细的性能监控和分析。

安装 New Relic Node.js Agent
npm install newrelic --save
配置 New Relic

newrelic.js 文件中配置你的 New Relic 许可证密钥。

exports.config = {
  licenseKey: 'YOUR_LICENSE_KEY',
  app_name: 'My Node.js App'
};
启动应用
NODE_ENV=production node app.js

4. 使用 ELK Stack

ELK Stack 是 Elasticsearch、Logstash 和 Kibana 的组合,可以用来收集、存储和分析日志。

安装 Elasticsearch

sudo yum install -y elasticsearch

启动 Elasticsearch

sudo systemctl start elasticsearch

安装 Logstash

sudo yum install -y logstash

启动 Logstash

sudo systemctl start logstash

安装 Kibana

sudo yum install -y kibana

启动 Kibana

sudo systemctl start kibana

配置 Logstash

编辑 /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 应用。选择哪种方法取决于你的具体需求和偏好。

0
看了该问题的人还看了