mongotop

macOS Sierra and Go 1.6 Incompatibility

Users running on macOS Sierra require the 3.2.10 or newer version of mongotop.

Description

mongotop provides a method to track the amount of time a MongoDB instance mongod spends reading and writing data. mongotop provides statistics on a per-collection level. By default, mongotop returns values every second.

Run mongotop from the system command line, not the mongo shell.

Syntax

Default

mongotop [frequency]

You can run mongotop without any command-line options to connect to the mongod instance running on the localhost port 27017. By default, mongotop returns values every second.

mongotop

To have mongotop report every 30 seconds, specify the time:

mongotop 30

When connected to a mongod instance, the program reports first on the connection and then reports on the statistics at the configured frequency.

2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1

             ns    total      read      write    <timestamp>
<db.collection>    81802ms     0ms    81802ms
...

Command Line Options

mongotop [options] [frequency]

You can run mongotop with various command-line options.

For example, to connect mongotop to a mongod instance running on a remote host mongodb0.example.com and report every 30 seconds:

  • You can include the desired frequency of reporting (in this example, 30 seconds) and the --uri option to specify the host and port:

    mongotop 30 --uri mongodb://mongodb0.example.com:27017 [additional options]
    

    If the mongod instance requires authentication, you can specify the user, password, and authentication database as part of the URI connection string:

    mongotop 30 --uri mongodb://user:[email protected]:27017/?authSource=admin [additional options]
    

    The user running mongotop must have the serverStatus and top privileges.

    For more information on the URI connection string, see --uri.

  • Alternatively, you can use the --host and --port options to specify the host and port:

    mongotop 30 --host mongodb0.example.com --port 27017 [additional options]
    

    If the mongod instance requires authentication, you can specify the user -u, password -p, and the authentication database --authenticationDatabase.

    mongotop 30 --host mongodb0.example.com --port 27017 -u user -p password --authenticationDatabase admin [additional options]
    

    The user running mongotop must have the serverStatus and top privileges.

For more information on the options available, see Options.

When connected to a mongod instance, the program reports first on the connection and then reports on the statistics at the configured frequency.

2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1

             ns    total      read      write    <timestamp>
<db.collection>    81802ms     0ms    81802ms
...

Required Access

In order to connect to a mongod that enforces authorization, the connecting user must have the serverStatus and top privileges.

The built-in role clusterMonitor provides these privileges.

Options

mongotop
--help

Returns information on the options and use of mongotop.

--verbose , -v

Increases the amount of internal reporting returned on standard output or in log files. Increase the verbosity with the -v form by including the option multiple times, (e.g. -vvvvv.)

--quiet

Runs mongotop in a quiet mode that attempts to limit the amount of output.

This option suppresses:

  • output from database commands
  • replication activity
  • connection accepted events
  • connection closed events
--version

Returns the mongotop release number.

--uri <connectionString>

New in version 3.4.6.

Specify a resolvable URI connection string to connect to the MongoDB deployment.

--uri "mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

For more information on the components of the connection string, see the Connection String URI Format documentation.

Important

The following command-line options cannot be used in conjunction with --uri option:

Instead, specify these options as part of your --uri connection string.

--host <hostname><:port> , -h <hostname><:port>

Default: localhost:27017

Specifies a resolvable hostname for the mongod to which to connect. By default, the mongotop attempts to connect to a MongoDB instance running on the localhost on port number 27017.

To connect to a replica set, specify the replSetName and a seed list of set members, as in the following:

--host <replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

When specifying the replica set list format, mongotop always connects to the primary.

You can also connect to any single member of the replica set by specifying the host and port of only that member:

--host <hostname1><:port>

Changed in version 3.0.0: If you use IPv6 and use the <address>:<port> format, you must enclose the portion of an address and port combination in brackets (e.g. [<address>]).

Note

You cannot specify both --host and --uri.

If connected to a replica set where the primary is not reachable, mongotop returns an error message.

--port <port>

Default: 27017

Specifies the TCP port on which the MongoDB instance listens for client connections.

Note

You cannot specify both --port and --uri.

--ipv6

Removed in version 3.0.

Enables IPv6 support and allows mongotop to connect to the MongoDB instance using an IPv6 network. Prior to MongoDB 3.0, you had to specify --ipv6 to use IPv6. In MongoDB 3.0 and later, IPv6 is always enabled.

--ssl

New in version 2.6.

Enables connection to a mongod or mongos that has TLS/SSL support enabled.

For more information about TLS/SSL and MongoDB, see Configure mongod and mongos for TLS/SSL and TLS/SSL Configuration for Clients .

--sslCAFile <filename>

New in version 2.6.

Specifies the .pem file that contains the root certificate chain from the Certificate Authority. Specify the file name of the .pem file using relative or absolute paths.

Starting in version 3.4, if --sslCAFile or ssl.CAFile is not specified and you are not using x.509 authentication, the system-wide CA certificate store will be used when connecting to an TLS/SSL-enabled server.

If using x.509 authentication, --sslCAFile or ssl.CAFile must be specified.

Warning

Version 3.2 and earlier: For TLS/SSL connections (--ssl) to mongod and mongos