Tags

, , ,

There are many Several ways to Monitor MongoDB!!

Step 1 )  =>  The General Server status

> db.serverStatus();

{
“host” : “INPUNMATHD14”,
“version” : “2.0.1”,
“process” : “mongod”,
“uptime” : 39,
“uptimeEstimate” : 38,
“localTime” : ISODate(“2011-12-27T09:31:58.019Z”),
“globalLock” : {
“totalTime” : 38686000,
“lockTime” : 5000,
“ratio” : 0.0001292457219666029,
“currentQueue” : {
“total” : 0,
“readers” : 0,
“writers” : 0
},
“activeClients” : {
“total” : 0,
“readers” : 0,
“writers” : 0
}
},
“mem” : {
“bits” : 32,
“resident” : 16,
“virtual” : 74,
“supported” : true,
“mapped” : 0
},
“connections” : {
“current” : 1,
“available” : 19999
},
“extra_info” : {
“note” : “fields vary by platform”
},
“indexCounters” : {
“note” : “not supported on this platform”
},
“backgroundFlushing” : {
“flushes” : 0,
“total_ms” : 0,
“average_ms” : 0,
“last_ms” : 0,
“last_finished” : ISODate(“1970-01-01T00:00:00Z”)
},
“cursors” : {
“totalOpen” : 0,
“clientCursors_size” : 0,
“timedOut” : 0
},
“network” : {
“bytesIn” : 300,
“bytesOut” : 354,
“numRequests” : 4
},
“opcounters” : {
“insert” : 0,
“query” : 1,
“update” : 0,
“delete” : 0,
“getmore” : 0,
“command” : 5
},
“asserts” : {
“regular” : 0,
“warning” : 0,
“msg” : 0,
“user” : 0,
“rollovers” : 0
},
“writeBacksQueued” : false,
“ok” : 1
}

—————————————————————————————————————

Step 2 )  => Status of Current Database!

> db.stats()

{
“db” : “test”,
“collections” : 5,
“objects” : 22,
“avgObjSize” : 90.36363636363636,
“dataSize” : 1988,
“storageSize” : 32768,
“numExtents” : 5,
“indexes” : 3,
“indexSize” : 24528,
“fileSize” : 16777216,
“nsSizeMB” : 16,
“ok” : 1
}

——————————————————————————————-

Step 3 )  =>  Explaining A Search

> db.users.find().explain()

{
“cursor” : “BasicCursor”,
“nscanned” : 7,
“nscannedObjects” : 7,
“n” : 7,
“millis” : 15,
“nYields” : 0,
“nChunkSkips” : 0,
“isMultiKey” : false,
“indexOnly” : false,
“indexBounds” : {

}
}

————————————————————————————————-

Step 4 )  =>  Collection’s Statistics!

> db.users.stats();

{
“ns” : “MyDB.users”,
“count” : 7,
“size” : 596,
“avgObjSize” : 85.14285714285714,
“storageSize” : 8192,
“numExtents” : 1,
“nindexes” : 2,
“lastExtentSize” : 8192,
“paddingFactor” : 1,
“flags” : 1,
“totalIndexSize” : 16352,
“indexSizes” : {
“_id_” : 8176,
“name_1” : 8176
},
“ok” : 1
}

——————————————————————————————————

— MongoDB has a profiler to help Debug and Find Slow Queries

Step 1 )  =>  To Enable the Profiler!

> db.setProfilingLevel(2);

{ “was” : 0, “slowms” : 100, “ok” : 1 }

> db.users.find()

{ “_id” : ObjectId(“4ee090c199077962781f3d46”), “first_name” : “Mehul”, “last_name” : “Gurjar”, “gender” : “Male”, “age” : 23 }
{ “_id” : ObjectId(“4ee837a572e52a928d85bb0f”), “name” : “Mehul Gurjar”, “grade” : 9 }
{ “_id” : ObjectId(“4ee837b272e52a928d85bb10”), “group” : “B”, “name” : “Jatin Patel” }
{ “_id” : ObjectId(“4ee837c372e52a928d85bb11”), “group” : “C”, “name” : “Ramesh”, “grade” : 5 }
{ “_id” : ObjectId(“4ee837cf72e52a928d85bb12”), “group” : “D”, “name” : “Rohit”, “grade” : 8 }
{ “_id” : ObjectId(“4ee843d372e52a928d85bb13”), “name” : “Prashant”, “last_name” : “Ajani”, “generation” : ObjectId(“4ee090c199077962781f3d46”) }
{ “_id” : ObjectId(“4ee845f872e52a928d85bb14”), “name” : “Rohit Ajani”, “age” : 21, “Children” : [   {  “name” : “Prashant”,    “sex” : “Male” },       {       “name” : “Dimple”,      “sex” : “Female” } ] }

******************************************************************************

Step 2 )  => To see the Information!

> db.system.profile.find();

{ “ts” : ISODate(“2011-12-27T09:35:11.258Z”), “op” : “query”, “ns” : “MyDB.system.profile”, “query” : { }, “responseLength” : 20, “millis” : 0, “client” : “127.0.0.1”, “user” : “” }
{ “ts” : ISODate(“2011-12-27T09:35:39.783Z”), “op” : “command”, “ns” : “MyDB.$cmd”, “command” : { “profile” : 0 }, “ntoreturn” : 1, “responseLength” : 58, “millis” : 0, “client” : “127.0.0.1”, “user” : “” }
{ “ts” : ISODate(“2011-12-27T09:36:15.181Z”), “op” : “query”, “ns” : “MyDB.users”, “query” : { }, “nscanned” : 7, “nreturned” : 7, “responseLength” : 606, “millis” : 0, “client” : “127.0.0.1”, “user” : “” }

********************************************************************************

Step 3 )  => to Disable Profiler!

> db.setProfilingLevel(0);

{ “was” : 2, “slowms” : 100, “ok” : 1 }

——————————————————————————————————————