在 Ubuntu 上配置 MongoDB 日志,主要通过 MongoDB 配置文件(通常位于 /etc/mongod.conf) 来完成。下面按常见场景说明。
Ubuntu 使用官方 .deb 包安装时,默认配置一般是:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
日志文件:
/var/log/mongodb/mongod.log
sudo nano /etc/mongod.conf
systemLog:
destination: file # 日志输出到文件(也可为 syslog)
logAppend: true # 重启后追加日志,而不是覆盖
path: /var/log/mongodb/mongod.log
verbosity: 0 # 日志级别 0~5,数字越大越详细
quiet: false # true 会减少日志输出
示例(更详细日志):
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
verbosity: 1
systemLog:
destination: syslog
配置后日志会进入 /var/log/syslog
MongoDB 日志会不断增大,需要配置 logrotate
sudo nano /etc/logrotate.d/mongodb
内容示例:
/var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
sudo logrotate -d /etc/logrotate.d/mongodb
在 mongo shell 中执行:
db.runCommand({ logRotate: 1 })
⚠️ 需要 systemLog.destination: file
sudo systemctl restart mongod
查看状态:
sudo systemctl status mongod
查看日志:
sudo tail -f /var/log/mongodb/mongod.log
path 是否正确sudo mkdir -p /var/log/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
查看错误:
journalctl -xe
如果你愿意,可以告诉我:
mongod --version)我可以给你更精确的配置示例。