mongostat
mongostat是MongoDB自带的监控工具,其可以提供数据库节点或者整个集群当前的状态视图。该功能的设计非常类似于Linux系统中的vmstat命令,可以呈现出实时的状态变化。不同的是,mongostat所监视的对象是数据库进程。mongostat常用于查看当前的QPS/内存使用/连接数,以及多个分片的压力分布。mongostat采用Go语言实现,其内部使用了db.serverStatus()命令,要求执行用户需具备clusterMonitor角色权限。
mongostat -h 192.168.65.174 --port 28017 -ufox -pfox --authenticationDatabase=admin --discover -n 300 2
参数说明:
-h:指定监听的主机,分片集群模式下指定到一个mongos实例,也可以指定单个mongod,或者复制集的多个节点。
--port:接入的端口,如果不提供则默认为27017。
-u:接入用户名,等同于-user。
-p:接入密码,等同于-password。
--authenticationDatabase:鉴权数据库。
--discover:启用自动发现,可展示集群中所有分片节点的状态。
-n 300 2:表示输出300次,每次间隔2s。也可以不指定“-n 300”,此时会一直保持输出。
指标说明
指标名
说明
inserts
每秒插入数
query
每秒查询数
update
每秒更新数
delete
每秒删除数
getmore
每秒getmore数
command
每秒命令数,涵盖了内部的一些操作
%dirty
WiredTiger缓存中脏数据百分比
%used
WiredTiger 正在使用的缓存百分比
flushes
WiredTiger执行CheckPoint的次数
vsize
虚拟内存使用量
res