MongoDB性能监控(1)—mongostat监控命令

1、Mongostat命令简介

Mongostat是mongodb自带的状态检测工具,在命令行下使用。它会间隔固定时间获取mongodb的当前运行状态,并输出。如果发现数据库突然变慢或者有其他问题的话,第一手的操作就要考虑采用mongostat来查看mongo的状态。



2、帮助命令及参数说明

[root@ggtest1 bin]# mongostat –help

--version 返回mongostat的版本信息

 --verbose,-v详细模式,多个v可以增加详细输出,如-vvvv --host:默认情况下,mongostat会尝试连接本机的27017端口。

 --port 指定端口 

 --ssl 使用mongostat通过SSL方式连接mongod 

 --username,-u 指定连接的用户名

 --password,-p 指定连接的用户密码 这里需要注意的是,如果mongod是以认证方式启动的,即加了--auth参数。指定的用户必须要有执行数据库命令serverStatus的权限才行。

 --authenticationDatabase 指定用户认证的库

 --authenticationMechanism 指定认证机制 

 --noheaders 不显示行或列名称

 --rowcount, -n指定显示行数,可以和sleeptime一起使用 如 mongostat -vvvvv --port 28018 --noheaders --rowcount 10 3 

 --discover 当连接到一个replica set中的任何一个成员时,mongostat会发现并显示replica set其他成员的状态信息 

 --all 显示所有的字段信息

    mongostat 输出结果的间隔时间,默认是每隔一秒输出一次



3、mongostat命令用法:

启动Mongod服务,进入到安装MongoDB目录下的bin目录, 然后输入mongostat命令,如下所示:

[root@ggtest1 bin]# mongostat -h localhost:27018

insert query update delete getmore command % dirty % used flushes  vsize  res qr|qw ar|aw netIn netOut conn    set repl                      time

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:15+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:16+08:00

    *0    *0    *0    *0      0    3|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  408b    19k    3 testrs  PRI 2016-10-28T14:32:17+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      1 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:18+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:19+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:20+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:21+08:00

    *0    *0    *0    *0      0    3|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  408b    19k    3 testrs  PRI 2016-10-28T14:32:22+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:23+08:00

    *0    *0    *0    *0      0    1|0    0.0    0.1      0 826.0M 53.0M  0|0  0|0  79b    19k    3 testrs  PRI 2016-10-28T14:32:24+08:00



[root@ggtest1 bin]# mongostat -h localhost:27018 --rowcount 20 1

注:mongostat将返回数据的每一秒,持续20秒。



[root@ggtest1 bin]# mongostat -h localhost:27018 –discover

注:在许多情况下,使用 -discover将帮助整组机器的状态,提供更完整的快照。如果Mongos的过程中,连接到一个片式集群上运行在本地机器上的端口27018,你可以使用上面的形式从集群中的所有成员返回统计。



4、输出字段说明:

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


參考連結 : 

MongoDB性能监控(1)—mongostat监控命令 | 大中华官方唯一支持 - mongodb - 官方 - mongodb论坛

你可能感兴趣的:(MongoDB性能监控(1)—mongostat监控命令)