/etc/mongod.conf,设置 systemLog.path(如 /var/log/mongodb/mongod.log)、logAppend(追加模式)、verbosity(日志级别,0-5,0为默认)。mongo shell 执行 db.setLogLevel(<level>, <component>),如 db.setLogLevel(1, "query") 控制查询组件日志详细程度。sudo apt-get install logrotate。/etc/logrotate.d/mongodb,示例内容:/var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
notifempty
create 640 mongodb mongodb
postrotate
kill -SIGUSR1 `cat /var/run/mongodb.pid`
endscript
}
(rotate 7 保留7天日志,compress 压缩旧日志,postrotate 通知 MongoDB 重新打开日志文件)。cat、tail -f、less 命令查看日志文件,如 tail -f /var/log/mongodb/mongod.log。jq 工具解析 JSON 格式日志:cat /var/log/mongodb/mongod.log | jq .。chown 和 chmod 限制日志文件访问权限,如 sudo chown mongodb:mongodb /var/log/mongodb/mongod.log,chmod 640。logwatch 或 Prometheus+Grafana 监控日志文件变化及异常。E11000 重复键错误)、慢查询记录(slowOpThresholdMs 参数)分析问题。参考来源: