Debian MongoDB故障排查指南
导读:Debian 上 MongoDB 故障排查指南 一 快速定位流程 服务状态与端口 检查服务:sudo systemctl status mongod 查看监听:ss -ltnp | grep 27017 或 netstat -anp |...
Debian 上 MongoDB 故障排查指南
一 快速定位流程
- 服务状态与端口
- 检查服务:sudo systemctl status mongod
- 查看监听:ss -ltnp | grep 27017 或 netstat -anp | grep 27017
- 日志与配置
- 查看日志:tail -f /var/log/mongodb/mongod.log
- 核对配置:/etc/mongod.conf 中的 net.port、net.bindIp、storage.dbPath、systemLog.destination
- 连接与网络
- 本机连接:mongo --host 127.0.0.1:27017
- 远程连通:mongo --host 服务器IP:27017
- 防火墙放行:sudo ufw allow 27017/tcp(或 iptables 放行相应端口)
- 资源与权限
- 磁盘空间:df -h;Inode:df -i
- 目录权限:ls -ld /var/lib/mongodb /var/log/mongodb;必要时 chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb
- 运行时诊断
- 连接状态:mongo --eval ‘db.runCommand({ connectionStatus: 1 } )’
- 性能快照:mongostat、mongotop
二 常见故障与修复
- 服务无法启动
- 查看日志定位错误;核对 /etc/mongod.conf 路径与语法;确认 dbPath 存在且权限正确;若异常关机残留锁文件,确认无 mongod 进程后删除 mongod.lock 再启动(谨慎操作)。
- Connection refused
- 服务未启动则启动;端口不对则核对 net.port;远程连不通则检查 bindIp(如需要远程访问可设为 0.0.0.0,并确保防火墙放行 27017)。
- 权限或认证失败
- 核对连接字符串中的用户名、密码、认证库;确保用户具备相应角色;必要时在 mongo shell 中 db.auth() 验证。
- Write concern failed
- 副本集/分片环境检查节点健康与同步状态(rs.status())、网络延迟与写入关注级别是否过高。
- 查询慢
- 使用 explain(“executionStats”) 分析执行计划;为高频查询字段建立合适索引;启用并分析慢查询日志;结合 mongostat/mongotop 观察吞吐与锁情况。
三 日志与诊断命令清单
- 服务与端口
- systemctl status mongod;ss -ltnp | grep 27017
- 日志查看与检索
- tail -f /var/log/mongodb/mongod.log
- grep -i “error|fail|exception” /var/log/mongodb/mongod.log
- 组件日志:db.getLogComponents();db.adminCommand({ getLog: “componentName” } )
- 连接与状态
- mongo --host 127.0.0.1:27017 --eval ‘db.runCommand({ connectionStatus: 1 } )’
- 副本集状态:rs.status()
- 性能与负载
- mongostat、mongotop
- 查询分析
- db.collection.find(…).explain(“executionStats”)
四 配置与性能优化要点
- 网络与绑定
- 仅内网开放时,bindIp 绑定内网网段;远程访问需明确放行策略并做好鉴权。
- 存储与缓存
- 使用 SSD;根据内存合理设置 WiredTiger 缓存:storage.wiredTiger.engineConfig.cacheSizeGB(不超过物理内存的较大比例,留出系统与其他进程空间)。
- 索引与查询
- 为高频查询建立复合索引;避免过多索引;使用覆盖索引减少回表;用 explain 持续优化。
- 副本集与分片
- 数据可靠性与读扩展使用副本集;海量数据与高并发考虑分片,合理选择分片键。
- 监控与维护
- 长期开启慢查询日志与 Profiling;定期用 mongostat/mongotop、PMM 等监控;按需重建或清理低效索引。
五 安全加固与维护建议
- 启用鉴权与最小权限:创建具备所需角色的用户,禁止无鉴权访问;对外网仅暴露必要端口。
- 备份与恢复:定期执行 mongodump/mongorestore 或文件系统快照;变更前先备份。
- 版本与升级:保持 MongoDB 与驱动版本兼容;升级前阅读发行说明并在测试环境验证。
- 防火墙与网络分区:仅放行业务所需来源 IP 与端口;与应用、数据库分层部署。
- 审计与合规:开启审计日志(企业版)或记录关键操作;定期审计用户与权限。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian MongoDB故障排查指南
本文地址: https://pptw.com/jishu/756025.html
