在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 参数按文件大小触发轮转。