mongodb监控工具mongostat

mongostat是mongodb自带的状态检测工具,在命令行下使用,会间隔固定时间获取mongodb的当前运行状态,并输出。

mongostat查看帮助

$ mongostat --help
Usage:
  mongostat  

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=                           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=                           mongodb host(s) to connect to
                                                  (use commas to delimit hosts)
      --port=                               server port (can also use
                                                  --host hostname:port)

ssl options:
      --ssl                                       connect to a mongod or mongos
                                                  that has ssl enabled
      --sslCAFile=                      the .pem file containing the
                                                  root certificate chain from
                                                  the certificate authority
      --sslPEMKeyFile=                  the .pem file containing the
                                                  certificate and key
      --sslPEMKeyPassword=              the password to decrypt the
                                                  sslPEMKeyFile, if necessary
      --sslCRLFile=                     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 for authentication
  -p, --password=                       password for authentication
      --authenticationDatabase=    database that holds the
                                                  user's credentials
      --authenticationMechanism=       authentication mechanism to
                                                  use

uri options:
      --uri=mongodb-uri                           mongodb uri connection string

stat options:
  -o=[,]*                           fields to show. For custom
                                                  fields, use dot-syntax to
                                                  index into serverStatus
                                                  output, and optional methods
                                                  .diff() and .rate() e.g.
                                                  metrics.record.moves.diff()
  -O=[,]*                           like -o, but preloaded with
                                                  default fields. Specified
                                                  fields inserted after default
                                                  output
      --humanReadable=                            print sizes and time in human
                                                  readable format (e.g. 1K 234M
                                                  2G). To use the more precise
                                                  machine readable format, use
                                                  --humanReadable=false
                                                  (default: true)
      --noheaders                                 don't output column names
  -n, --rowcount=                          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
      --useDeprecatedJsonKeys                     use old key names; only valid
                                                  with the json output option.
  -i, --interactive                               display stats in a
                                                  non-scrolling interface

参数说明

参数 说明 示例
-v 详细的日志输出,包括更多的信息,v的数量可以有多个 .mongostat -vvv --host 127.0.0.1:27017
-h 要监控的数据库的ip和端口,可以写成-h或者 --host ./mongostat -h 127.0.0.1:27017
-u admin库的用户名,也可以写成 --username
-p admin库的密码,也可以写成 --password
--authenticationDatabase 后面跟的是保存用户凭证的数据库,用户凭证在admin库中,所用这里填admin,这个参数是在有用户名和密码的时候才用的 ./mongostat -h 127.0.0.1:27017 -u root -p 123456 --authenticationDatabase admin
--noheaders 不输出表头,就是没有最上面一行列的说明 ./mongostat -h 127.0.0.1:27017 --noheaders
-n 要输出多少行,不指定默认一秒输出一行,指定以后,达到指定的行数以后就不在输出信息了,也可以写成--rowcount ./mongostat -h 127.0.0.1:27017 -n 20
--discover 监控所有节点并且显示 ./mongostat -h 127.0.0.1:27017 --discover
--http 使用http链接,而不是原始的链接 ./mongostat -h 127.0.0.1:27017 --discover --http
--all 所用可选的字段
--json 打印的数据是json格式 ./mongostat -h 127.0.0.1:27017 --json

打印信息参数说明

参数 说明
inserts/s 每秒插入次数
query/s 每秒查询次数
update/s 每秒更新次数
delete/s 每秒删除次数
getmore/s 每秒执行getmore次数,查看更多的意思,我们每次查询数据时,如果一次数据量比较大,超过了mongodb一次能查询的最大数据量,那么mongodb就回把这次要查询的数据分成几次查询,分别返回
command/s 每秒的命令数,比以上插入、查找、更新、删除的综合还多,还统计了别的命令
dirty WiredTiger存储引擎中dirty 数据占缓存百分比
used WiredTiger存储引擎中引擎使用缓存占百分比
flushes/s 每秒执行fsync将数据写入硬盘的次数, WiredTiger存储引擎中,flushes是指WiredTiger循环创建检查点的时间间隔。每隔一段时间,mongodb就将内存上的数据写入硬盘,如果这个数值比较大的话,会影响性能
vsize 虚拟内存使用量,单位MB
res 物理内存使用量,单位MB
faults /s 每秒访问失败数(只有Linux有),数据被交换出物理内存,放到swap。不要超过100,否则就是机器内存太小,造成频繁swap写入。此时要升级内存或者扩展
res 使用真实内存大小
qr 客户端等待读的长度,队列中的长度
qw 客户端等待写的队列长度
ar 活跃客户执行写操作的数量。
aw 活跃客户等待写的数量
netin mongodb进入的流量包含mongostat本身(单位:bytes)
netout mongodb出去的流量包含mongostat本身
conn 当前连接数
time 时间戳
repl 当前实例的角色
M或 PRI "master",
SEC "Secondary",
REC "recovering",
UNK "unknow",
SLV "slave",
RTR "mongos process"("router")
ARB "arbiter"

你可能感兴趣的:(Mongodb)