编辑配置文件 /etc/mongod.conf
,设置日志路径、追加模式及级别:
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
verbosity: 0 # 0-5,0为最少信息,调试时可临时调高
重启服务生效:
sudo systemctl restart mongod
使用 logrotate
工具自动管理日志:
/etc/logrotate.d/mongodb
:sudo nano /etc/logrotate.d/mongodb
/var/log/mongodb/mongod.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 640 mongodb mongodb
postrotate
sudo kill -USR1 $(cat /var/run/mongodb.pid) # 通知MongoDB重新打开日志
endscript
}
测试配置:
sudo logrotate -v /etc/logrotate.d/mongodb
sudo tail -f /var/log/mongodb/mongod.log
sudo grep -i "error" /var/log/mongodb/mongod.log # 搜索错误日志
sudo apt install mtools
mloginfo --slow /var/log/mongodb/mongod.log # 查看慢查询
mongo --eval 'db.getLogComponents()'
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chmod 640 /var/log/mongodb/mongod.log