在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日志监控,确保你的应用日志得到妥善管理和分析。