阅读量:2
在Ubuntu上监控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服务
- 创建服务文件:
[Unit]
Description=My Node.js Application
After=network.target
[Service]
ExecStart=/usr/bin/node /path/to/your/app.js
Restart=always
User=your-user
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
- 启动服务:
sudo systemctl daemon-reload && sudo systemctl start my-app - 查看服务状态:
sudo systemctl status my-app
使用Prometheus和Grafana进行监控
- 安装Prometheus客户端:
npm install prom-client - 在Node.js应用中定义指标:
const client = require('prom-client');
const requestDuration = new client.histogram({
name: 'http_request_duration_seconds',
help: 'Duration of http requests in seconds',
labelnames: ['method', 'status']
});
const activeRequests = new client.gauge({
name: 'active_requests',
help: 'Number of active requests'
});
app.use((req, res, next) => {
const end = requestDuration.startTimer();
activeRequests.inc();
res.on('finish', () => {
end({ method: req.method, status: res.statusCode });
activeRequests.dec();
});
next();
});
app.get('/metrics', async (req, res) => {
res.set('content-type', client.register.contentType);
res.send(await client.register.metrics());
});
- 公开指标端点:创建端点以向Prometheus公开指标。
- 使用Grafana进行可视化:将Prometheus连接到Grafana并创建自定义仪表板。
使用Winston进行日志记录
- 安装Winston:
npm install winston - 配置Winston:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
logger.info('Application started');
logger.error('An error occurred');
使用node-statsd进行性能监控
- 安装node-statsd:
npm install node-statsd - 配置node-statsd:将node-statsd与Etsy’s StatsD服务器对接。
通过上述方法,您可以在Ubuntu系统上有效地监控Node.js应用的性能和资源使用情况,确保应用的稳定性和高可用性。
以上就是关于“如何在Ubuntu上监控Node.js应用性能”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm