Ubuntu下MongoDB日志管理主要包括配置、轮转、查看及分析等操作,具体如下:
-
配置日志路径与级别
- 编辑配置文件
/etc/mongod.conf,在systemLog部分设置日志路径(如/var/log/mongodb/mongod.log)、是否追加日志(logAppend: true)及日志级别(verbosity: 0-5,0为最少信息,5最详细)。 - 重启服务生效:
sudo systemctl restart mongod。
- 编辑配置文件
-
日志轮转与压缩
- 使用logrotate工具:创建配置文件
/etc/logrotate.d/mongodb,设置每日轮转、保留7天日志、压缩旧日志等规则,例如:/var/log/mongodb/mongod.log { daily rotate 7 compress delaycompress missingok create 640 mongodb mongodb postrotate /usr/bin/pkill -USR1 mongod endscript }然后测试配置:
sudo logrotate -v /etc/logrotate.d/mongodb。 - 手动轮转:通过MongoDB命令
db.adminCommand({ logRotate: 1 })触发日志重命名。
- 使用logrotate工具:创建配置文件
-
查看日志
- 实时查看:
sudo tail -f /var/log/mongodb/mongod.log。 - 按关键词搜索:
sudo grep -i "error" /var/log/mongodb/mongod.log。 - 图形化工具:使用MongoDB Compass或Robo 3T查看。
- 实时查看:
-
分析日志
- 命令行工具:
mtools可分析慢查询、生成日志统计(如mloginfo)或可视化(如mplotqueries)。 - ELK Stack:通过Elasticsearch、Logstash、Kibana实现日志的集中存储与可视化分析。
- 命令行工具:
-
权限与优化
- 设置日志文件权限:
sudo chown mongodb:mongodb /var/log/mongodb/mongod.log,sudo chmod 640 /var/log/mongodb/mongod.log。 - 定期清理旧日志,避免占用磁盘空间。
- 设置日志文件权限:
以上操作可确保日志可管理、易分析,帮助快速定位问题。