MongoDB在Ubuntu上的日志管理主要包括配置、轮转、查看及分析等操作,具体如下:
配置日志路径与级别
编辑配置文件 /etc/mongod.conf,设置 systemLog 参数:
systemLog:
destination: file # 日志输出到文件
path: /var/log/mongodb/mongod.log # 日志文件路径
logAppend: true # 追加日志而非覆盖
logLevel: 2 # 日志级别(0-5,2为警告级别)
保存后重启服务:sudo systemctl restart mongod。
日志轮转管理
使用 logrotate 工具避免日志文件过大:
/etc/logrotate.d/mongodb,内容示例:/var/log/mongodb/mongod.log {
daily # 每日轮转
rotate 7 # 保留7天日志
compress # 压缩旧日志
missingok # 忽略丢失文件
notifempty # 空文件不轮转
create 0640 mongodb mongodb # 新日志权限与属主
postrotate
if [ -f /var/run/mongodb.pid ]; then
kill -SIGUSR1 $(cat /var/run/mongodb.pid) # 通知MongoDB重新打开日志
fi
endscript
}
sudo logrotate -d /etc/logrotate.d/mongodb。查看与分析日志
tail -f /var/log/mongodb/mongod.log。grep 搜索关键字(如错误信息),或用 awk 提取字段。权限与安全
确保日志文件权限正确:
sudo chown mongodb:mongodb /var/log/mongodb/mongod.log
sudo chmod 0640 /var/log/mongodb/mongod.log
说明:Ubuntu默认使用 systemd-journald 管理日志,但上述方法通过配置文件和工具实现更灵活的日志管理,适用于生产环境。