Ubuntu MongoDB日志管理配置技巧
-
配置日志路径与级别
- 编辑配置文件
/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(警告) - 禁用日志文件大小限制(默认100MB),需设置
logSize: 0。
- 按组件设置日志级别(如单独调整存储引擎日志):
参考来源: