在Ubuntu上設置Node.js日志監控可以通過多種方式實現,以下是一些常見的方法:
pm2進行進程管理和日志監控安裝pm2:
npm install pm2 -g
啟動Node.js應用:
使用pm2啟動你的Node.js應用,并指定日志文件路徑。
pm2 start app.js --name my-app --log /path/to/your/logfile.log
查看日志:
pm2 logs my-app
設置日志輪轉:
pm2默認會進行日志輪轉,但你也可以手動配置。
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7
tail命令實時監控日志啟動Node.js應用:
node app.js
使用tail命令實時查看日志:
tail -f /path/to/your/logfile.log
logrotate進行日志輪轉安裝logrotate(如果尚未安裝):
sudo apt-get install logrotate
創建或編輯logrotate配置文件:
sudo nano /etc/logrotate.d/my-app
添加以下內容:
/path/to/your/logfile.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
測試logrotate配置:
sudo logrotate -f /etc/logrotate.d/my-app
安裝ELK Stack(Elasticsearch, Logstash, Kibana):
這是一個強大的日志管理和分析工具組合。
配置Logstash收集Node.js日志:
編輯Logstash配置文件,添加一個輸入插件來收集Node.js日志。
配置Kibana進行日志可視化:
使用Kibana創建儀表板和圖表來可視化日志數據。
syslog進行日志管理配置Node.js應用將日志發送到syslog:
在Node.js應用中使用syslog模塊。
const syslog = require('syslog');
syslog.openlog('my-app', { facility: syslog.LOG_USER, tag: 'my-app' });
syslog.syslog(syslog.LOG_INFO, 'This is an info message');
syslog.closelog();
配置rsyslog接收syslog消息:
編輯/etc/rsyslog.conf或創建一個新的配置文件,例如/etc/rsyslog.d/50-default.conf。
if $programname == 'my-app' then /var/log/my-app.log
& stop
重啟rsyslog服務:
sudo systemctl restart rsyslog
通過以上方法,你可以在Ubuntu上有效地設置Node.js日志監控,確保你的應用日志得到妥善管理和分析。