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论坛

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 删掉重新来一次吧,记得改那个脚本修改 /home/ubuntu/eos/scripts/install_depen...
    卢衍泓阅读 1,221评论 0 1
  • 带通信号的表示 假设一个带通的时域信号为(s_p(t)),其时域表达为s_p(t)=\operatorname{R...
    呼啦圈而阅读 1,227评论 0 0
  • 为保证学生教育的最佳效果,家长们也积极参与到学习打卡中,和孩子们一起成长。 1、为什么孩子上学,要家长学习? 在教...
    铜豌豆candy阅读 97评论 0 0