How to check Mongo health before upgrade(for helm)

Introduction
This article discusses how to check MongoDB health before the upgrade.

#replace with namespace you want.
ns=harness-smp1
MONGODB_USERNAME=admin;
MONGODB_PASSWORD=$(echo `kubectl -n $ns get secret mongodb-replicaset-chart -o yaml |grep mongodb-root-password |cut -d : -f2 | head -1 |base64 -d`)
MONGO_URI="mongodb://$MONGODB_USERNAME:$MONGODB_PASSWORD@mongodb-replicaset-chart-0.mongodb-replicaset-chart.$ns.svc,mongodb-replicaset-chart-1.mongodb-replicaset-chart.$ns.svc,mongodb-replicaset-chart-2.mongodb-replicaset-chart.$ns.svc:27017/harness?replicaSet=rs0&authSource=admin"
kubectl exec -it mongodb-replicaset-chart-0 -n $ns -- mongo "$MONGO_URI" --quiet --eval "db.printSecondaryReplicationInfo()"

Expected Response:

source: mongodb-replicaset-chart-1.mongodb-replicaset-chart.harness-smp1.svc.cluster.local:27017
	syncedTo: Fri Jan 13 2023 13:16:48 GMT+0000 (UTC)
	2 secs (0 hrs) behind the primary 
source: mongodb-replicaset-chart-2.mongodb-replicaset-chart.harness-smp1.svc.cluster.local:27017
	syncedTo: Fri Jan 13 2023 13:16:49 GMT+0000 (UTC)
	1 secs (0 hrs) behind the primary 

Sync duration needs to be low for good MongoDB health.

1 Like