CentOS系统中,MongoDB的默认日志文件路径为/var/log/mongodb/mongod.log(由配置文件/etc/mongod.conf中的systemLog.path参数定义)。若配置文件修改过日志路径,需优先检查配置文件中的logPath设置。
查看最新日志条目(实时更新):
使用tail -f命令实时跟踪日志文件的新增内容,适用于监控实时日志(如数据库启动、错误或查询记录)。按Ctrl+C停止实时查看。
sudo tail -f /var/log/mongodb/mongod.log
注:需用
sudo获取管理员权限(日志文件通常属mongod用户)。
查看指定时间段的日志:
使用grep结合--before-context(之前时间)和--after-context(之后时间)参数,提取特定时间段内的日志。例如查看2025年10月1日全天的日志:
sudo grep --before-context=1d --after-context=1d "2025-10-01" /var/log/mongodb/mongod.log
或使用sed命令提取精确时间范围的日志(需替换为实际时间戳):
sudo sed -n '/2025-10-01 00:00:00/,/2025-10-01 23:59:59/p' /var/log/mongodb/mongod.log
查找包含关键字的日志:
使用grep命令过滤出包含特定关键字(如错误error、连接connection)的日志行,帮助快速定位问题:
sudo grep "error" /var/log/mongodb/mongod.log
sudo grep "connection accepted" /var/log/mongodb/mongod.log
分页查看完整日志:
使用less命令分页浏览日志文件,支持上下箭头键滚动、PgUp/PgDn翻页,按q键退出:
sudo less /var/log/mongodb/mongod.log
通过journalctl查看系统日志:
若MongoDB日志文件无法访问或需要查看系统级日志(如服务启动失败),可使用journalctl命令过滤mongod相关日志:
sudo journalctl -xe | grep mongod
这能帮助排查因系统权限、依赖库或SELinux导致的MongoDB问题。
检查配置文件中的日志设置:
若日志路径或格式异常,需确认/etc/mongod.conf中的systemLog部分配置是否正确(如destination: file、path路径是否可写)。
mongod.log属mongod用户,普通用户需用sudo访问;logRotate参数(配置文件中设置)启用自动轮转,避免占用过多磁盘空间。