MongoDB在Linux上的日志管理主要涉及配置、轮转、查看及分析等操作,具体如下:
配置日志路径与级别
/etc/mongod.conf,设置 systemLog.path 指定日志文件路径(如 /var/log/mongodb/mongod.log),verbosity 控制日志详细程度(0-5,0为默认)。systemLog.destination: syslog。日志轮转管理
kill -SIGUSR1 <mongod_pid> 发送信号触发日志轮转,或使用 db.adminCommand({ logRotate: 1 }) 命令。logrotate 工具,创建配置文件 /etc/logrotate.d/mongodb,设置轮转频率(如每日)、保留天数、压缩等参数,示例配置:/var/log/mongodb/mongod.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 640 mongodb mongodb
postrotate
/bin/kill -USR1 $(cat /var/run/mongodb/mongod.pid 2>/dev/null) 2>/dev/null || true
endscript
}
```。
查看与分析日志
tail -f /var/log/mongodb/mongod.log 跟踪最新日志。grep "ERROR" /var/log/mongodb/mongod.log 筛选错误信息。mtools(如 mloginfo、mplotqueries)进行日志统计和可视化,或用 jq 处理JSON格式日志。日志清理与安全
logrotate 的 maxsize 和 rotate 参数控制,或编写脚本删除旧文件。chmod 640 /var/log/mongodb/mongod.log。参考来源: