配置日志路径与级别
/etc/mongod.conf,在 systemLog 部分设置:systemLog:
destination: file # 日志输出到文件
path: /var/log/mongodb/mongod.log # 日志路径
logAppend: true # 追加日志而非覆盖
verbosity: 2 # 日志级别(0-5,0为最少,5为最详细)
destination 设为 syslog。日志轮转管理
logrotate 工具,创建配置文件 /etc/logrotate.d/mongodb:/var/log/mongodb/mongod.log {
daily # 每日轮转
rotate 7 # 保留7天日志
compress # 压缩旧日志
missingok # 忽略缺失日志
notifempty # 空日志不轮转
create 0640 mongodb mongodb # 新日志权限
}
sudo logrotate -f /etc/logrotate.d/mongodb。权限与安全
mongodb 用户:sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chmod 0640 /var/log/mongodb/mongod.log # 限制访问权限
日志查看与分析
sudo tail -f /var/log/mongodb/mongod.log。jq 解析 JSON 格式日志:sudo cat /var/log/mongodb/mongod.log | jq '.msg' # 提取消息字段。
grep 过滤关键信息(如错误):sudo grep -i "error" /var/log/mongodb/mongod.log。
高级配置
systemLog:
component:
storage: 3 # 存储引擎日志级别设为3(警告)
logSize: 0。参考来源: