在 Debian 上配置 MongoDB 日志,主要涉及 配置文件(通常 /etc/mongod.conf) 和 系统日志(rsyslog / journald) 两部分。下面按常见场景说明。
MongoDB 主要通过 mongod.conf 中的 systemLog 配置项控制日志。
Debian 上通常是:
/etc/mongod.conf
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
verbosity: 0
说明:
destination: file → 输出到文件path → 日志文件路径logAppend: true → 重启后追加,不覆盖verbosity → 0~5,数字越大越详细MongoDB 不会自动切割日志,需要配合 logrotate。
创建:
/etc/logrotate.d/mongodb
示例:
/var/log/mongodb/mongod.log {
daily
rotate 7
compress
missingok
notifempty
copytruncate
}
如果你希望 MongoDB 日志进入 /var/log/syslog 或由 rsyslog 管理:
systemLog:
destination: syslog
logAppend: true
然后:
sudo systemctl restart mongod
查看:
journalctl -u mongod
# 或
grep mongod /var/log/syslog
operationProfiling:
slowOpThresholdMs: 100
mode: slowOp
日志中会出现慢查询记录。
确保日志目录存在且可写:
sudo mkdir -p /var/log/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo systemctl restart mongod
sudo systemctl status mongod
如果你有具体需求(比如:只保留 30 天日志 / 输出 JSON 日志 / Docker 中配置 / 集群日志),可以告诉我,我可以给你更精确的配置。