- Reference >
- MongoDB Package Components >
mongostat
mongostat
¶
Synopsis¶
The mongostat
utility provides a quick overview of the
status of a currently running mongod
or mongos
instance. mongostat
is functionally similar to the
UNIX/Linux file system utility vmstat
, but provides data regarding
mongod
and mongos
instances.
See also
For more information about monitoring MongoDB, see Monitoring Database Systems.
For more background on various other MongoDB status outputs see:
- Server Status Reference
- Replica Set Status Reference
- Database Statistics Reference
- Collection Statistics Reference
For an additional utility that provides MongoDB metrics see “mongotop.”
mongostat
connects to the mongod
instance running
on the local host interface on TCP port 27017
; however,
mongostat
can connect to any accessible remote mongod
instance.
Options¶
-
mongostat
¶
-
--help
¶
Returns a basic help and usage text.
-
--verbose
,
-v
¶
Increases the amount of internal reporting returned on the command line. Increase the verbosity with the
-v
form by including the option multiple times, (e.g.-vvvvv
.)
-
--host
<hostname><:port>
¶ Specifies a resolvable hostname for the
mongod
from which you want to export data. By defaultmongostat
attempts to connect to a MongoDB instance running on the localhost port number27017
.Optionally, specify a port number to connect a MongoDB instance running on a port other than
27017
.To connect to a replica set, you can specify the replica set seed name, and a seed list of set members, in the following format:
-
--port
<port>
¶ Specifies the port number, if the MongoDB instance is not running on the standard port. (i.e.
27017
) You may also specify a port number using themongostat --host
command.
-
--ipv6
¶
Enables IPv6 support that allows
mongostat
to connect to the MongoDB instance using an IPv6 network. All MongoDB programs and processes, includingmongostat
, disable IPv6 support by default.
-
--username
<username>
,
-u
<username>
¶ Specifies a username to authenticate to the MongoDB instance, if your database requires authentication. Use in conjunction with the
mongostat --password
option to supply a password.
-
--password
<password>
¶ Specifies a password to authenticate to the MongoDB instance. Use in conjunction with the
mongostat --username
option to supply a username.If you specify a
--username
without the--password
option,mongostat
will prompt for a password interactively.
-
--noheaders
¶
Disables the output of column or field names.
-
--rowcount
<number>
,
-n
<number>
¶ Controls the number of rows to output. Use in conjunction with the
sleeptime
argument to control the duration of amongostat
operation.Unless
--rowcount
is specified,mongostat
will return an infinite number of rows (e.g. value of0
.)
-
--http
¶
Configures
mongostat
to collect data using the HTTP interface rather than a raw database connection.
-
--discover
¶
With this option
mongostat
discovers and reports on statistics from all members of a replica set or sharded cluster. When connected to any member of a replica set,--discover
all non-hidden members of the replica set. When connected to amongos
,mongostat
will return data from all shards in the cluster. If a replica set provides a shard in the sharded cluster,mongostat
will report on non-hidden members of that replica set.The
mongostat --host
option is not required but potentially useful in this case.
-
<sleeptime>
¶
The final argument is the length of time, in seconds, that
mongostat
waits in between calls. By defaultmongostat
returns one call every second.mongostat
returns values that reflect the operations over a 1 second period. For values of<sleeptime>
greater than 1,mongostat
averages data to reflect average operations per second.
Fields¶
mongostat
returns values that reflect the operations over a
1 second period. When mongostat <sleeptime> has a value
greater than 1, mongostat
averages the statistics to reflect
average operations per second.
mongostat
outputs the following fields:
-
inserts
The number of objects inserted into the database per second. If followed by an asterisk (e.g.
*
), the datum refers to a replicated operation.
-
query
The number of query operations per second.
-
update
The number of update operations per second.
-
delete
The number of delete operations per second.
-
getmore
The number of get more (i.e. cursor batch) operations per second.
-
command
The number of commands per second. On slave and secondary systems,
mongostat
presents two values separated by a pipe character (e.g.|
), in the form oflocal|replicated
commands.
-
flushes
The number of fsync operations per second.
-
mapped
The total amount of data mapped in megabytes. This is the total data size at the time of the last
mongostat
call.
-
size
The amount of (virtual) memory in megabytes used by the process at the time of the last
mongostat
call.
-
res
The amount of (resident) memory in megabytes used by the process at the time of the last
mongostat
call.
-
faults
Changed in version 2.1.
The number of page faults per second.
Before version 2.1 this value was only provided for MongoDB instances running on Linux hosts.
-
locked
The percent of time in a global write lock.
Changed in version 2.2: The
locked db
field replaces thelocked %
field to more appropriate data regarding the database specific locks in version 2.2.
-
locked db
New in version 2.2.
The percent of time in the per-database context-specific lock.
mongostat
will report the database that has spent the most time since the lastmongostat
call with a write lock.This value represents the amount of time that the listed database spent in a locked state combined with the time that the
mongod
spent in the global lock. Because of this, and the sampling method, you may see some values greater than 100%.
-
idx miss
The percent of index access attempts that required a page fault to load a btree node. This is a sampled value.
-
qr
The length of the queue of clients waiting to read data from the MongoDB instance.
-
qw
The length of the queue of clients waiting to write data from the MongoDB instance.
-
ar
The number of active clients performing read operations.
-
aw
The number of active clients performing write operations.
-
netIn
The amount of network traffic, in bytes, received by the MongoDB instance.
This includes traffic from
mongostat
itself.
-
netOut
The amount of network traffic, in bytes, sent by the MongoDB instance.
This includes traffic from
mongostat
itself.
-
conn
The total number of open connections.
-
set
The name, if applicable, of the replica set.
Usage¶
In the first example, mongostat
will return data every
second for 20 seconds. mongostat
collects data from the
mongod
instance running on the localhost interface on
port 27017. All of the following invocations produce identical
behavior:
In the next example, mongostat
returns data every 5 minutes
(or 300 seconds) for as long as the program runs. mongostat
collects data from the mongod
instance running on the
localhost interface on port 27017
. Both of the following
invocations produce identical behavior.
In the following example, mongostat
returns data every 5
minutes for an hour (12 times.) mongostat
collects data
from the mongod
instance running on the localhost interface
on port 27017. Both of the following invocations produce identical
behavior.
In many cases, using the --discover
will help provide a more complete snapshot of the state of an entire
group of machines. If a mongos
process connected to a
sharded cluster is running on port 27017
of the local
machine, you can use the following form to return statistics from all
members of the cluster: