mongostat是mongoDB自带的工具,用于检测mongodb的运行状态。

Test:Test/node-131 / # mongostat --help
Usage:
mongostat <options> <polling interval in seconds>

Monitor basic MongoDB server statistics.

See http://docs.mongodb.org/manual/reference/program/mongostat/ for more information.

general options:
--help print usage
--version print the tool version and exit

verbosity options:
-v, --verbose=<level> more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N)
--quiet hide all log output

connection options:
-h, --host=<hostname> mongodb host to connect to (setname/host1,host2 for replica sets)
--port=<port> server port (can also use --host hostname:port)

ssl options:
--ssl connect to a mongod or mongos that has ssl enabled
--sslCAFile=<filename> the .pem file containing the root certificate chain from the certificate authority
--sslPEMKeyFile=<filename> the .pem file containing the certificate and key
--sslPEMKeyPassword=<password> the password to decrypt the sslPEMKeyFile, if necessary
--sslCRLFile=<filename> the .pem file containing the certificate revocation list
--sslAllowInvalidCertificates bypass the validation for server certificates
--sslAllowInvalidHostnames bypass the validation for server name
--sslFIPSMode use FIPS mode of the installed openssl library

authentication options:
-u, --username=<username> username for authentication
-p, --password=<password> password for authentication
--authenticationDatabase=<database-name> database that holds the users credentials
--authenticationMechanism=<mechanism> authentication mechanism to use

stat options:
--noheaders dont output column names
-n, --rowcount=<count> number of stats lines to print (0 for indefinite)
--discover discover nodes and display stats for all
--http use HTTP instead of raw db connection
--all all optional fields
--json output as JSON rather than a formatted table

举例:

20秒数据,每1秒钟输出

mongostat -h 80.81.2.3 -p 27017 --rowcount 20 1

300秒数据,每5秒输出

mongostat -h 80.81.2.3 -p 27017 -n 300 5

以json格式输出

mongostat -h 80.81.2.4 -p 27017 -n 60 1 --json

搜集复制集aCloud中所有节点的60s内运行状态,间隔1s刷新,保存到文件mongostat_aCloud.log中。

mongostat -h aCloud/80.81.2.4,80.81.2.5,80.81.2.6 -p 27017 -n 60 1 >> mongostat_aCloud.log

监控复制集Primary节点 80.81.2.4 的状态

Sangfor:aCloud/node-131 /var/lib/mongodb # mongostat -h 80.81.2.4 -p 27017 -n 60 1
insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|aw netIn netOut conn set repl time
4327 0 0 0 445 748|0 0.5 4.1 0 1.1G 437.0M 0|0 0|0 834k 1m 7 aCloud PRI 2016-07-21T20:56:48+08:00
3857
0 0 0 442 752|0 0.5 4.1 0 1.1G 438.0M 0|0 0|0 771k 1m 7 aCloud PRI 2016-07-21T20:56:49+08:00

结果解析:

insert 每秒instert操作次数
query 每秒query操作次数
update 每秒update操作次数
delete 每秒delete操作次数
getmore每秒getmore操作次数
command每秒command执行次数
flushes每秒执行fsync将数据写入硬盘的次数
vsize 虚拟内存使用量,单位是MB
res 物理内存使用量,单位MB
qr|qw 队列中waiting的读/写次数
ar|aw 已激活active的读/写次数
netIn 接收端网络速率,单位是bytes
netOut发送端网络速率,单位是bytes
conn 连接数(open connections)
set 复制集(replica set)名称
repl 成员在复制集中的状态(PRI|SEC|ARB|REC)