mongodb监控工具mongostat的使用及命令详解

1. mongostat简介

mongostat是mongodb自带的一个监控工具,可以通过它查看mongodb实例的运行状态。

mongostat的输出结果类似于Linux下的top命令,能够显示出当前系统的状态。

2. mongostat命令

2.1 命令格式

mongostat [options] [delay [times]]

其中,delay和times是可选参数。

2.2 命令参数

参数 描述
-h, --host <hostname> 指定要连接的MongoDB实例的主机名。
-u, --username <username> 指定连接MongoDB实例所需的用户名。
-p, --password <password> 指定连接MongoDB实例所需的密码。
--authenticationDatabase <database> 指定用于认证的数据库。默认为admin。
--ssl 启用SSL连接。
-n, --rowcount <count> 指定输出的行数。默认为0,表示输出全部。
-i, --headerinterval <seconds> 指定输出表头的时间间隔。默认为1。
-u 指定监控延迟。默认为1秒。
-t 指定监控次数。默认为无限次。

3. mongostat输出内容

mongostat输出的内容包含数据库的各种状态信息,如连接数,查询次数,内存使用情况等。

mongostat的输出内容解释如下:

insert: 每秒钟插入的文档数。

query: 每秒钟查询的次数。

update: 每秒钟更新的文档数。

delete: 每秒钟删除的文档数。

getmore: 每秒钟执行的getmore操作的次数。

command: 每秒钟执行的命令的次数。

flushes: 每秒钟执行的刷入操作的次数。

mapped: 当前实例使用的映射内存大小。

vsize: 当前实例的虚拟内存大小。

res: 当前实例的常驻内存大小。

faults: 每秒钟产生的缺页异常的次数。

locked: 当前实例的数据库锁定状态。

idxmiss%: 数据库使用的索引命中率。

qr|qw: 当前实例的操作队列。

ar|aw: 数据恢复队列和备份写入队列。

net_in: 每秒钟的数据传输输入流量。

net_out: 每秒钟的数据传输输出流量。

conn: 当前实例的连接数。

time: 当前实例运行的时间。

4. mongostat实例

mongostat可以直接在终端中运行,如下:

mongostat

运行后,我们可以看到类似下面的输出结果:

insert query update delete getmore command flushes mapped vsize res faults locked db idxmiss% qr|qw ar|aw netIn netOut conn time

16 73 0 0 0 0 0 252m 1.10g 262m 0 mbf admin.system.users:r 0|0 0|0 40k 8k 2 19:46:06

16 72 0 0 0 1 0 252m 1.10g 262m 0 mbf admin.system.roles:r 0|0 0|0 40k 8k 2 19:46:07

16 73 0 0 0 1 0 252m 1.10g 262m 0 mbf article.comments:r 0|0 0|0 40k 8k 2 19:46:08

其中的字段含义请参考上面的mongostat输出内容。

5. 结语

本文介绍了mongostat的使用及命令详解。mongostat是mongodb自带的一个监控工具,可以用来查看mongodb实例的运行状态。希望本文能帮助大家更好地了解mongostat的使用方法。

数据库标签