MongoDB script to check the status of background index builds
Here is a simple script I’ve found to be quite helpful for monitoring the status of background index builds across shards on a system:
var currentOps = db.currentOp();
if(!currentOps.inprog || currentOps.inprog.length < 1) {
print("No operations in progress");
} else {
for(o in currentOps.inprog) {
var op = currentOps.inprog[o];
if(op.msg && op.msg.match(/bg index build/)) {
print(op.opid+' - '+op.msg);
}
}
}
Here’s the output:
$ mongo mycluster:30000/mydb bgIndexBuildStatus.js
MongoDB shell version: 1.8.1
connecting to: mycluster:30000/mydb
shard0000:343812263 - bg index build 122042652/165365928 73%
shard0001:355224633 - bg index build 111732254/165568168 67%