MongoDB副本集配置系列八:MongoDB监控

1:Mongostat

MongoDB2.6版本

MongoDB3.0版本

 

2:db.setProfilingLevel(2):打开profiler

类似于MySQL的slow log

Profiler默认是关闭的,你可以选择全部开启,或者有慢查询的时候开启。

db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all

> use test
switched to db test
> db.setProfilingLevel(2)
2015-07-01T00:24:49.770-0700 trying reconnect to 127.0.0.1:27017 (127.0.0.1) failed
2015-07-01T00:24:49.774-0700 reconnect 127.0.0.1:27017 (127.0.0.1) ok
{ "was" : 0, "slowms" : 100, "ok" : 1 }
> db.getProfilingLevel()
2
> db.system.profile.find().sort({$natural:-1})
  • ts:时间戳
  • info:具体的操作
  • millis:操作所花时间,毫秒

3:--httpinterface --rest:打开Web控制台

如果需要打开web控制台的话,需要在mongod启动的时候加上--httpinterface --rest

4 db.stats():获取当前数据库信息

> db.stats()
{
	"db" : "test",
	"collections" : 6,
	"objects" : 2309992,
	"avgObjSize" : 48.00180260364538,
	"dataSize" : 110883780,
	"storageSize" : 198164480,
	"numExtents" : 27,
	"indexes" : 3,
	"indexSize" : 74990272,
	"fileSize" : 469762048,
	"nsSizeMB" : 16,
	"dataFileVersion" : {
		"major" : 4,
		"minor" : 5
	},
	"extentFreeList" : {
		"num" : 0,
		"totalSize" : 0
	},
	"ok" : 1
}

  

5:db.serverStatus():获取服务器当前的状态信息

> db.serverStatus()
{
	"host" : "localhost.localdomain",
	"version" : "2.6.9",
	"process" : "mongod",
	"pid" : NumberLong(22871),
	"uptime" : 1558,
	"uptimeMillis" : NumberLong(1558300),
	"uptimeEstimate" : 1428,
	"localTime" : ISODate("2015-07-01T07:30:33.497Z"),
	"asserts" : {
		"regular" : 0,
		"warning" : 0,
		"msg" : 0,
		"user" : 1,
		"rollovers" : 0
	},
	"backgroundFlushing" : {
		"flushes" : 25,
		"total_ms" : 2,
		"average_ms" : 0.08,
		"last_ms" : 0,
		"last_finished" : ISODate("2015-07-01T07:29:35.233Z")
	},
………
}

需要注意两个地方:

connections 当前连接和可用连接数,到2000个连接就属于比较多的(要根据你的机器性能和业务来设定),所以设大了没意义。设个合理值的话,到达这个值mongodb就拒绝新的连接请求,避免被太多的连接拖垮。
indexCounters:btree:misses 索引的不命中数,和hits的比例高就要考虑索引是否正确建立。

  

6:db.currentOp():查看当前正在执行的操作

> db.currentOp()
{ "opid" : "shard3:466404288", "active" : false, "waitingForLock" : false, "op" : "query", "ns" : "sd.usersEmails", "query" : { }, "client_s" : "10.121.13.8:34473", "desc" : "conn" }

如果需要可以kill掉:

db.killOp("shard3:466404288")

 

  

 

 

 

  

 

 

 

 

posted @ 2015-07-01 15:38  艾森豪威迩  阅读(921)  评论(0编辑  收藏  举报