一、配置日志路径与级别
编辑配置文件 /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
- 添加以下内容(每日轮转,保留7天,压缩旧日志):
/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 # 搜索错误日志 - 工具分析:
- mtools:安装后分析慢查询、生成可视化图表。
sudo apt install mtools mloginfo --slow /var/log/mongodb/mongod.log # 查看慢查询 - MongoDB Shell:获取日志组件信息或设置级别。
mongo --eval 'db.getLogComponents()'
- mtools:安装后分析慢查询、生成可视化图表。
- 图形界面:使用 MongoDB Compass 直接查看。
四、权限与安全
- 确保日志目录权限正确:
sudo chown -R mongodb:mongodb /var/log/mongodb sudo chmod 640 /var/log/mongodb/mongod.log - 定期清理过期日志,避免磁盘占满。