我发现我对可以用作管理员的所有不同命令感到困惑,以发现我的MongoDB集群可能出现的问题。例如,运行split命令,我得到一个" pre-condition失败"的错误。我发现代码的一部分与其错误消息13105 https://github.com/mongodb/mongo/blob/master/src/mongo/client/syncclusterconnection.cpp#L219有关,但我仍然对我所看到的内容感到困惑。
所以我想系统地检查我的群集的每个部分。这些是我已经运行的命令并立即记住,但我很确定我忘了一些!在看Mongo之前,我从来都不是DBA,因此我可以帮助我获得调试信息清单。
所以我的问题是,我是否获得了所需的所有命令,以便从Mongo控制台获取群集各方面的状态和配置?例如,我确信我能够看到每个碎片块的大小,但我还没有得到它。 谢谢!
更新2014-11-22,修改了以下列表,以包含我的摘要结果和@ wdberkeley的答案。
//TIPS For MongoDB Debugging
//1.Get General info on configs passed and the IP's (in Bash)
ps aux | grep -in mongo
//1A.Alternatively, to see details of configs on a single server
use admin
db.serverCmdLineOpts()
//2.Shard chunk/ranges status (from the mongoS balancer node)
sh.status()
//2A.Shard Status, verbose output
sh.status(true)
//3.Replica Set Status (from a replica set node, NOT from a mongoS)
rs.status()
//4.Mongo Server info (from anywhere; VERY LONG output)
db.serverStatus()
//5.Log summary from configured file or copy/paste of system.output into a .log file (from Bash)
mloginfo myCapturedLogs.log --distinct
//6.Diagnostic tools (from Bash)
mongostat
mongotop
//7.Check Q&A / Reference sites.
参考文献;
[6]令人惊叹的mtools包括日志解析和日志时间线可视化。 https://github.com/rueckstiess/mtools
[7] Q& A /参考站点' URLS; 7A.mongo Shell快速参考http://docs.mongodb.org/manual/reference/mongo-shell/; 7B.StackOverflow; 7C。堆栈交换仅用于dba问题,例如https://dba.stackexchange.com/questions/48232/mongodb-config-servers-not-in-sync; 8.Mongo Diagnostics FAQ http://docs.mongodb.org/manual/faq/diagnostics/#faq-memory