数据库工具——mongostat

mongostat是用于查看MongoDB实例运行状态的工具,类似于Linux的vmstat。从4.4版本开始,它独立发布并有自己的版本控制。安装后,需要相应权限才能运行,如使用--auth、--username和--password。 mongostat提供多种选项,如--discover、--all和--json,用于获取不同级别的信息和统计详情。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文档:mongostat​​​​

mongostat提供了当前运行的mongod或者mongos实例的大概状态。mongostat有点类似Linux的vmstat,但mongostat提供的是mongod或者mongos实例的信息。

从MongoDB 4.4开始,mongostat现在与MongoDB Server分开发布,并使用自己的版本控制,初始版本为100.0.0。此前,mongostat与MongoDB Server一起发布,并使用匹配的版本控制。

mongostat 可能可以与早期版本的MongoDB server兼容,但是这种兼容性没有保障。

(1)安装方式

tar -zxvf mongodb-database-tools-*-100.7.0.tgz -C /opt/mongodb

其他安装方式:数据库工作安装文档

(2)语法

mongostat <options> <connection-string> <polling interval in seconds>

(3)需要的权限

对于开启了认证的数据库,需要加上--auth选项,指定--username和--password,连接的用户需要有整个集群的serverStatus 权限。

内置角色clusterMonitor也具备对应的权限。创建一个运行mongostat的角色:

use admin
db.createRole(
   {
     role: "mongostatRole", 
     privileges: [
       { resource: { cluster: true }, actions: [ "serverStatus" ] }
     ],
     roles: []
   }
)

​​​​​(4)选项

--discover 返回所有副本集成员或集群的统计信息

--all 返回所有可选的信息

--json 返回json模式

-O 指定需要返回的信息

其他选项请参考官方文档

(5)返回值详解

mongostat返回反映1秒内操作的值。当mongostat<sleeptime>的值大于1时,mongostat会对统计数据进行平均,以反映每秒的平均操作数。

field意义
inserts每秒插入数据库的对象数。如果后面跟着星号(例如*),则该基准是指复制的操作。
query每秒的查询操作数.
update 每秒的更新操作数。
detele 每秒的删除操作数。
getmore 每秒获取更多(即光标批处理)操作的次数。
command 每秒的命令数。在从节点上,mongostat以本地|复制命令的形式显示由管道字符(例如|)分隔的两个值。
dirty 仅适用于WiredTiger存储引擎,WiredTiger缓存中包含脏字节的百分比。计算方式:wiredTiger.cache."tracked dirty bytes in the cache"/wiredTiger.cache."maximum bytes configured"  --db.serverStatus().wiredTiger.cache
used 仅适用于WiredTiger存储引擎,正在使用的WiredTiger缓存的百分比。计算方式:wiredTiger.cache."bytes currently in the cache"/wiredTiger.cache."maximum bytes configured".
flushes 仅适用于WiredTiger存储引擎,刷新是指在每个轮询间隔之间触发的WiredTige检查点的数量。
mapped 仅适用于MMAPv1存储引擎 ,映射的数据总量(以MB为单位)。这是最后一次mongostat调用时的总数据大小。
vsize 进程在最后一次mongostat调用时使用的虚拟内存量(MB)
res 进程在最后一次mongostat调用时使用的驻留内存量(MB)。
faults 全局写入锁定的时间百分比。仅当mongostat针对3.0之前版本的MongoDB实例运行时才会出现。
qr等待从MongoDB实例读取数据的客户端队列的长度。
qw 等待从MongoDB实例写入数据的客户端队列的长度。
ar执行读取操作的活动客户端的数量。
aw 执行写入操作的活动客户端的数量。。
netIn MongoDB实例接收的网络流量(以字节为单位)。这包括来自mongostat本身的流量。
netOut MongoDB实例发送的网络流量(以字节为单位)。这包括来自mongostat本身的流量
conn  打开的连接的总数。
set 复制副本集的名称(如果适用)。
repl 成员的复制状态,如下
PRI primary
SEC secondary
REC recovering 
UNK unknown 
RTR mongos process ("router") 
ARB arbiter

例子:

mongostat --port 27017 --discover

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值