###############################################
# MongoDB Replica Set 集群巡检命令清单
# 保存为 mongodb_rs_check.txt
###############################################
###############################################
# 一、基础信息检查
###############################################
mongod --version
ps -ef | grep mongod
cat /etc/mongod.conf
# 登录 Mongo Shell(根据实际情况修改)
# mongo --host <primary_ip> --port <port> -u <user> -p <password> --authenticationDatabase admin
###############################################
# 二、副本集状态与健康检查(在 mongo shell 中执行)
###############################################
rs.conf()
rs.status()
rs.printSlaveReplicationInfo()
rs.isMaster()
rs.status().members.forEach(function(m){print(m.name, m.electionTime)})
###############################################
# 三、数据库与存储检查
###############################################
show dbs
db.stats()
# 切换数据库后执行
# use <dbname>
db.getCollectionInfos()
db.stats()
# 查看索引详情
db.getCollectionNames().forEach(function(c){printjson(db.getCollection(c).stats({indexDetails:true}))})
# 磁盘和缓存使用情况
db.serverStatus().metrics.disk
db.serverStatus().wiredTiger.cache
# 系统层面磁盘检查
df -h
du -sh /var/lib/mongo
###############################################
# 四、性能与连接状态
###############################################
db.serverStatus().connections
db.serverStatus().globalLock
db.serverStatus().extra_info
db.serverStatus().opcounters
db.serverStatus().opcountersRepl
db.getProfilingStatus()
db.system.profile.find().sort({ts:-1}).limit(5)
# 系统性能
top -b -n 1 | grep mongod
free -h
###############################################
# 五、WiredTiger 存储引擎检查
###############################################
db.serverStatus().wiredTiger.cache
db.serverStatus().wiredTiger.concurrentTransactions
db.serverStatus().wiredTiger.transaction
###############################################
# 六、安全与配置
###############################################
db.isMaster().setName
db.runCommand({getParameter:1, authenticationMechanisms:1})
cat /etc/mongod.conf | egrep "bindIp|port|authorization"
###############################################
# 七、日志与错误检查
###############################################
tail -n 200 /var/log/mongodb/mongod.log
grep -E "ERROR|WARNING|SECONDARY|PRIMARY|replSet" /var/log/mongodb/mongod.log | tail -n 20
###############################################
# 八、快速巡检信息汇总(推荐在 Primary 节点执行)
###############################################
mongo --quiet --eval '
print("[1] Replica Set Status"); printjson(rs.status());
print("\n[2] Slave Replication Info"); rs.printSlaveReplicationInfo();
print("\n[3] Server Status (Summary)"); var s=db.serverStatus(); printjson({
version:s.version, host:s.host, uptime:s.uptime, connections:s.connections,
opcounters:s.opcounters, mem:s.mem, wiredTiger:s.wiredTiger.cache
});
print("\n[4] DB Stats"); db.adminCommand({listDatabases:1});
' > mongodb_check_$(date +%F).txt
###############################################
# 巡检完成后结果保存在 mongodb_check_YYYY-MM-DD.txt
###############################################
原创不易,转载时请标明作者及出处。
作者:打个小肥鸡
转自:https://www.sretalk.com/?p=166