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
。参考来源: