CentOS系统中,MongoDB的默认日志文件路径为/var/log/mongodb/mongod.log(由配置文件/etc/mongod.conf中的systemLog.path参数定义)。若配置文件修改过日志路径,需以实际路径为准。
tail命令快速查看日志文件末尾内容(适用于快速定位最新问题),例如查看最后50行:sudo tail -n 50 /var/log/mongodb/mongod.log
tail -f命令实时显示日志新增内容(常用于监控实时运行状态),按Ctrl+C停止跟踪:sudo tail -f /var/log/mongodb/mongod.log
less命令逐页查看日志(适合查看大量日志),按q键退出:sudo less /var/log/mongodb/mongod.log
在less中,可使用上下箭头、PgUp/PgDn键导航,/keyword搜索关键词。使用grep命令筛选包含特定关键字的日志行(如错误信息、操作记录),例如查找包含“error”的日志:
sudo grep 'error' /var/log/mongodb/mongod.log
若需显示匹配行及前后若干行(上下文),可添加-A(after)、-B(before)参数,例如显示匹配行及后2行:
sudo grep -A 2 'error' /var/log/mongodb/mongod.log
若需查看某一时间段的日志,可通过grep结合时间戳过滤(需日志中包含时间信息)。例如,查看2025年9月28日的日志:
sudo grep '2025-09-28' /var/log/mongodb/mongod.log
或使用sed命令提取指定时间范围(如2025-09-28 00:00:00至23:59:59)的日志:
sudo sed -n '/2025-09-28 00:00:00/,/2025-09-28 23:59:59/p' /var/log/mongodb/mongod.log
注:需根据实际日志时间格式调整时间戳。
若MongoDB服务异常,可通过journalctl命令查看系统日志中与mongod相关的错误信息(适用于系统级问题排查):
sudo journalctl -xe | grep mongod
该命令会显示系统日志中mongod进程的错误记录,帮助定位服务启动失败、权限问题等。
sudo提升权限访问;sudo cat /dev/null > /var/log/mongodb/mongod.log
或通过MongoDB命令手动触发日志轮转:use admin;
db.runCommand({logRotate: 1});