./mongostat --host 127.0.0.1:47017 -u "user" -p "pwd" --authenticationDatabase admin --rowcount 20 1
参考文档
http://docs.mongodb.org/v2.4/administration/monitoring/
监控MongoDB有一下几种方法:
1)使用MongoDB软件包自带的工具,如mongostat,mongotop等。
2)使用MongoDB数据库命令
3)使用MongoDB公司提供的MMS监控服务
- mongostat命令
mongostat可以提供mongod和mongos进程的状态信息
--verbose,-v详细模式,多个v可以增加详细输出,如-vvvv
--host <hostname>:<port>
默认情况下,mongostat会尝试连接本机的27017端口。
--port 指定端口
--ssl 使用mongostat通过SSL方式连接mongod
--username,-u 指定连接的用户名
--password,-p 指定连接的用户密码
这里需要注意的是,如果mongod是以认证方式启动的,即加了--auth参数。指定的用户必须要有执行数据库命令serverStatus的权限才行。
--authenticationDatabase 指定用户认证的库
--authenticationMechanism 指定认证机制
--noheaders 不显示行或列名称
--rowcount <number>, -n <number>
指定显示行数,可以和sleeptime一起使用
如
mongostat -vvvvv --port 28018 --noheaders --rowcount 10 3
--discover
当连接到一个replica set中的任何一个成员时,mongostat会发现并显示replica set其他成员的状态信息
--all
显示所有的字段信息
<sleeptime>
mongostat 输出结果的间隔时间,默认是每隔一秒输出一次
输出字段
insert 表示每秒插入数据库的对象数量,如果跟在一个*后面,表示这是复制操作
query 每秒查询操作数量
update 每秒更新操作数量
delete 每秒删除操作数量
getmore 每秒get more操作的数量
command 每秒执行数据库命令操作的数量
flushes 每秒执行fsync操作的数量
mapped 映射数据的总量,以兆字节M表示。这里的数据是从上次mongostat显示到这次的数量
vsize mongod或mongos进程用掉的虚拟内存,以兆字节M表示
locked db 这里的值表示当前列出的数据库在锁定状态上花销的时间加上mongod进程在全局锁上花销的时间,以百分比表示
idx miss 表示需要一个页面错误来加载一个Btree节点的索引访问尝试的百分比
qr 客户端等待从MongoDB实例读操作的队列长度
qw 客户端等待从MongoDB实例写操作的队列长度
ar 正在执行读操作的客户端数量
aw 正在执行写操作的客户端数量
netIn MongoDB实例接收到的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量
netOut MongoDB实例发送出去的网络流量,用字节bytes表示,包括mongostat本身连接MongoDB实例产生的流量
conn 打开的连接数总数
set replica set的名称
repl replica set的状态 PRI 表示是Primary,SEC表示是Secondary