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)