在CentOS上排查MongoDB故障的方法如下:
检查服务状态
sudo systemctl status mongod # 查看服务是否运行
sudo systemctl start mongod # 启动服务
sudo systemctl enable mongod # 设置开机自启
查看日志文件
/var/log/mongodb/mongod.logsudo tail -f /var/log/mongodb/mongod.log # 实时查看日志
journalctl筛选MongoDB相关错误sudo journalctl -xe | grep mongod
验证配置文件
检查/etc/mongod.conf中dbPath(数据目录)、logPath(日志路径)、port(端口)等配置是否正确。
检查权限与磁盘空间
sudo chown -R `id -u` /var/lib/mongo /var/log/mongodb
df -h
排查端口占用
检查MongoDB默认端口(27017)是否被占用:
sudo lsof -iTCP -sTCP:LISTEN -n -P | grep 27017
分析系统资源
使用top、htop、iostat等工具监控CPU、内存、磁盘I/O使用情况。
使用MongoDB自带工具
mongostat:实时监控性能指标(如查询、写入次数)。mongotop:监控集合级读写操作。db.serverStatus():通过MongoDB Shell获取详细状态(如内存、连接数)。处理SELinux问题
若启用SELinux,可临时设置为permissive模式排查是否阻止服务运行:
sudo setenforce 0
升级或重新安装
若为版本问题,可尝试升级到最新稳定版本或重新安装MongoDB。
借助第三方工具
参考来源: