在Linux系統中,實時監控Node.js應用程序的日志有多種方法。以下是一些常用的工具和方法:
tail -f
命令tail -f
是一個簡單的命令行工具,可以實時查看文件的末尾內容。對于Node.js應用程序的日志文件,可以使用以下命令:
tail -f /path/to/your/logfile.log
less
命令less
是一個分頁查看器,也可以用來實時查看日志文件:
less +F /path/to/your/logfile.log
multitail
multitail
是一個強大的多文件查看工具,可以同時監控多個日志文件,并提供豐富的過濾和搜索功能:
sudo apt-get install multitail # 安裝multitail
multitail /path/to/your/logfile.log
logrotate
logrotate
是一個日志輪轉工具,可以自動管理日志文件的大小和數量。雖然它本身不提供實時監控功能,但結合其他工具使用效果很好:
sudo apt-get install logrotate # 安裝logrotate
配置文件通常位于 /etc/logrotate.d/
目錄下,例如:
/path/to/your/logfile.log {
daily
rotate 7
compress
delaycompress
notifempty
create 640 root adm
}
glances
glances
是一個跨平臺的系統監控工具,可以實時監控CPU、內存、磁盤、網絡等資源的使用情況,也可以查看日志文件:
sudo apt-get install glances # 安裝glances
glances -l /path/to/your/logfile.log
ELK Stack
ELK Stack(Elasticsearch, Logstash, Kibana)是一個強大的日志管理和分析平臺。你可以使用Logstash收集日志,Elasticsearch存儲日志,Kibana進行可視化分析。
安裝Elasticsearch:
sudo apt-get install elasticsearch
安裝Logstash:
sudo apt-get install logstash
安裝Kibana:
sudo apt-get install kibana
配置Logstash:
編輯 /etc/logstash/conf.d/nodejs.conf
文件,添加以下內容:
input {
file {
path => "/path/to/your/logfile.log"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "nodejs-logs-%{+YYYY.MM.dd}"
}
}
啟動ELK Stack:
sudo systemctl start elasticsearch
sudo systemctl start logstash
sudo systemctl start kibana
使用Kibana查看日志:
打開瀏覽器,訪問 http://localhost:5601
,在Kibana界面中選擇Elasticsearch索引,即可查看和分析日志。
pm2
pm2
是一個進程管理工具,也可以用來監控Node.js應用程序的日志:
sudo npm install pm2 -g # 全局安裝pm2
pm2 start app.js --name my-app # 啟動Node.js應用
pm2 logs my-app # 查看日志
通過這些工具和方法,你可以方便地實時監控Node.js應用程序的日志,及時發現和解決問題。