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
管理日志,但上述方法通过配置文件和工具实现更灵活的日志管理,适用于生产环境。