mongostat是mongoDB自带的工具,用于检测mongodb的运行状态。
mongostat用法
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)
测试关注:
netIn
、netOut
、conn