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