在Ubuntu上实现MongoDB日志管理可通过以下步骤完成:
-
配置日志路径与级别
编辑配置文件/etc/mongod.conf,设置systemLog参数:systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true logLevel: 2 # 0-5级,2为警告级别创建日志目录并授权:
sudo mkdir -p /var/log/mongodb sudo chown mongodb:mongodb /var/log/mongodb sudo chmod 0755 /var/log/mongodb -
启用日志轮转
- 使用logrotate工具:
创建配置文件/etc/logrotate.d/mongodb:sudo nano /etc/logrotate.d/mongodb内容示例(保留7天日志,每天轮转):
/var/log/mongodb/mongod.log { daily rotate 7 compress missingok notifempty create 0640 mongodb mongodb postrotate if pgrep mongod >/dev/null; then kill -SIGUSR1 $(cat /var/run/mongodb.pid) fi endscript }手动测试轮转:
sudo logrotate -f /etc/logrotate.d/mongodb - 通过MongoDB命令轮转:
进入MongoDB shell执行:use admin db.adminCommand({ logRotate: "server" })
- 使用logrotate工具:
-
查看与分析日志
- 命令行查看:
sudo tail -f /var/log/mongodb/mongod.log # 实时查看 sudo grep "ERROR" /var/log/mongodb/mongod.log # 筛选错误日志 - 图形化工具:
使用MongoDB Compass或Robo 3T等工具直接查看日志文件。
- 命令行查看:
-
权限与安全
确保日志文件属主为mongodb用户,权限为0640,避免未授权访问。
通过以上步骤,可完成Ubuntu上MongoDB日志的路径配置、自动轮转、查看及权限管理,满足日常运维需求。