db.serverStatus().connections查询失败
#查看当前数据库连接数,没有成功返回
mongos> db.serverStatus().connections
mongos>
#查看运行状态
mongos>db.serverStatus()
{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { serverStatus: 1.0 }", #显示没有认证权限,执行没权限,需加上root权限
"code" : 13
}
找到原因
没有认证用户权限
解决方法:
添加用户权限
添加zadig 的root 权限
mongos> db.grantRolesToUser("zadig",[{role: "root",db:"admin"}]);
取消权限
mongos> db.revokeRolesFromUser("zadig",[{role: "root",db:"admin"}]);
查看当前连接数
mongos> db.serverStatus().connections
{ "current" : 65, "available" : 19935, "totalCreated" : 17631396 }
注释
- 当前连接数 "current"
- 可用连接数 "available"
- MongoDB一共创建线程数 "totalCreated"
db.serverStatus命令
最常用也是最基础的查看实例运行状态的命令。但db.serverStatus也有一个缺陷,就是数据是静态的,而不是实时的
>db.serverStatus()
{
"host":"localhost.localdomain",
"version":"1.8.1",
--服务器版本
"process":"mongod",
"uptime":3184,
--启动时间(单位:秒)
"uptimeEstimate":3174,
"localTime":ISODate("2012-05-28T11:20:22.819Z"),
"globalLock":{
"totalTime":3183918151,
"lockTime":10979,
"ratio":0.000003448267034299149,
"currentQueue":{
"total":0,
--当前全部队列量
"readers":0,
--读请求队列量
"writers":0
--写请求队列量
},
"activeClients":{
"total":0,
--当前全部客户端连接量
"readers":0,
--客户端读请求量
"writers":0
--客户端写请求量
}
},
"mem":{
"bits":32,
--32位系统
"resident":20,
--占用物量内存量
"virtual":126,
--虚拟内存量
"supported":true,
--是否支持扩展内存
"mapped":32
},
"connections":{
"current":1,
--当前活动连接量
"available":818
--剩余空闲连接量
},
...
"indexCounters":{
"btree":{
"accesses":0,
--索引被访问量
"hits":0,
--索引命中量
"misses":0,
--索引偏差量
"resets":0,
"missRatio":0
--索引偏差率(未命中率)
}
},
...
"network":{
"bytesIn":1953,
--发给此服务器的数据量(单位:byte)
"bytesOut":25744,
--此服务器发出的数据量(单位:byte)
"numRequests":30
--发给此服务器的请求量
},
"opcounters":{
"insert":0,
--插入操作的量
"query":1,
--查询操作的量
"update":0,
--更新操作的量
"delete":0,
--删除操作的量
"getmore":0,
"command":31
--其他操作的量
},
...
"ok":1
}