在Linux下有效管理MongoDB日志可从配置、轮转、分析、监控等方面入手,具体如下:
/etc/mongod.conf,设置systemLog.path指定日志文件路径(如/var/log/mongodb/mongod.log),通过logAppend控制是否追加日志,verbosity调整日志详细程度(0-5,生产环境建议用0或1)。/etc/logrotate.d/mongodb配置文件,设置每日轮转(daily)、保留天数(rotate 7)、压缩(compress)等参数,通过postrotate发送信号触发MongoDB日志切换。db.runCommand({logRotate: 1})或kill -SIGUSR1 <pid>命令手动切割日志。/log/mongodb),避免与数据文件竞争I/O。find命令结合-mtime参数删除超时文件,或通过logrotate的maxsize参数限制单个日志文件大小。grep、awk提取关键信息(如错误、慢查询),或通过jq解析JSON格式日志。mtools(如mloginfo、mplotqueries)进行可视化分析,或集成ELK栈实现日志采集与可视化。tail -f或multitail实时查看日志,结合mongostat、db.serverStatus()监控数据库状态。chown、chmod设置日志文件属主和权限,确保仅授权用户可访问。关键命令示例:
mongo admin --eval "db.runCommand({logRotate: 1})"tail -n 100 /var/log/mongodb/mongod.logmloginfo --slow /var/log/mongodb/mongod.log