在Debian上管理MongoDB日志可按以下步骤操作:
-
配置日志路径与级别
编辑配置文件/etc/mongod.conf,设置systemLog参数:destination: file(日志输出到文件,默认路径/var/log/mongodb/mongod.log)。verbosity: 0-5(控制日志详细程度,0为最小,5为最详细,默认1)。logAppend: true(重启后追加日志,避免覆盖)。
-
启用日志轮转
安装logrotate工具:sudo apt install logrotate编辑
/etc/logrotate.d/mongodb,添加规则(如每天轮转、保留7天、压缩旧日志):/var/log/mongodb/mongod.log { daily rotate 7 compress missingok notifempty postrotate /bin/kill -SIGUSR1 $(cat /var/lib/mongodb/mongod.lock) endscript }手动触发轮转测试:
sudo logrotate -f /etc/logrotate.d/mongodb -
查看与分析日志
- 实时查看:
tail -f /var/log/mongodb/mongod.log。 - 分析工具:使用
jq提取关键字段(如错误信息),或通过db.adminCommand({ getLog: 'global' })获取系统日志。
- 实时查看:
-
动态调整日志级别
连接MongoDB Shell后执行:use admin db.setLogLevel(2) # 设置全局日志级别为2(警告)或针对特定组件(如查询日志):
db.setLogLevel(1, "query")
注意事项:
- 生产环境中建议将日志存储在独立磁盘,避免占满系统空间。
- 定期清理旧日志,可通过
logrotate的size参数按文件大小触发轮转。