Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

mongostat

Esta documentación es para la versión 100.15.0 de mongostat.

mongostat es una herramienta de línea de comandos que proporciona una visión rápida del estado de una instancia en funcionamiento mongod mongos Instancia o. Utilice mongostat para identificar cuellos de botella en el sistema.

mongostat es funcionalmente similar a la utilidad vmstat del sistema de archivos de UNIX/Linux, pero proporciona datos sobre mongod e mongos instancias.

Ejecuta mongostat desde la línea de comandos del sistema, no desde el shell de mongo.

mongostat sintaxis:

mongostat <options> <connection-string> <polling interval in seconds>
--help

Devuelve información sobre las opciones y el uso de mongostat.

--verbose, -v

Aumenta la cantidad de reportes internos devueltos en la salida estándar o en las entradas de registro. Aumenta el nivel de verbosidad con la forma -v incluyendo la opción varias veces (por ejemplo, -vvvvv.)

--version

Devuelve el número de la versión mongostat.

--config=<filename>

Nuevo en la versión 100.3.0.

Especifica la ruta completa a un archivo de configuración YAML que contiene valores confidenciales para las siguientes opciones mongostat:

Esta es la forma recomendada de especificar una contraseña para mongostat, además de especificarla mediante una solicitud de contraseña. Puedes utilizar cualquier combinación de los argumentos en el archivo.

El archivo de configuración tiene la siguiente estructura:

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

Si especifica la opción password sin especificar uri, puede especificar los otros componentes de la cadena de conexión utilizando las opciones de línea de comandos mongostat, como --username y --host.

Asegúrate de proteger este archivo con los permisos adecuados del sistema de archivos.

Importante

Al utilizar la opción --config, ten en cuenta las siguientes limitaciones y comportamientos:

  • Si proporcionas el campo password y una cadena de conexión en el campo uri con una contraseña conflictiva, mongorestore resultará en un error.

  • Si especifica un archivo de configuración con --config y también utiliza las opciones de línea de comandos --password, --uri o --sslPEMKeyPassword mongostat, la opción de línea de comandos anulará la opción correspondiente del archivo de configuración.

--uri=<connectionString>

Especifica la cadena de conexión URI resoluble de la implementación de MongoDB, entre comillas:

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

A partir de la versión 100.0 de mongostat, la cadena de conexión puede proporcionarse alternativamente como un parámetro posicional, sin utilizar la opción --uri:

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

Como parámetro de posicionamiento, la cadena de conexión puede especificarse en cualquier punto de la línea de comandos, siempre que comience con mongodb:// o mongodb+srv://. Por ejemplo:

mongostat --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

Solo se puede proporcionar una cadena de conexión. Intentar incluir más de uno, ya sea utilizando la opción --uri o como argumento posicional, resultará en un error.

Para obtener información sobre los componentes de la cadena de conexión, consulta la documentación del formato URI de la cadena de conexión.

Nota

Algunos componentes en el connection string pueden especificarse alternativamente utilizando sus propias opciones explícitas de línea de comandos, como --username y --password. El proveer una cadena de conexión, mientras también se utiliza una opción explícita y se especifica información conflictiva, resultará en error.

Nota

Si se usa mongostat en Ubuntu 18.04, se puede recibir un mensaje de error cannot unmarshal DNS al usar cadenas de conexión SRV (en el formato mongodb+srv://) con la opción --uri. Si es así, se debe usar una de las siguientes opciones en su lugar:

Advertencia

En algunos sistemas, una contraseña proporcionada en una cadena de conexión con la opción --uri puede ser visible para programas de estado del sistema como ps que pueden ser invocados por otros usuarios. Considera en cambio:

  • omitir la contraseña en la cadena de conexión para recibir un aviso interactivo de contraseña, o

  • utilizando la opción --config para especificar un archivo de configuración que contenga la contraseña.

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

Por defecto: localhost:27017

Especifica el nombre de host resoluble de la implementación de MongoDB. Por defecto, mongostat intenta conectarse a una instancia de MongoDB que se ejecuta en el host local en el número de puerto 27017.

Para conectar a un set de réplicas, puedes especificar el/los nodos del conjunto sobre los que se informará, como en el siguiente ejemplo (consulta también la bandera --discover):

--host=<hostname1><:port>,<hostname2><:port>,<...>

Si utilizas IPv6 y el formato <address>:<port>, debes encerrar la parte de una combinación de dirección y puerto entre corchetes (por ejemplo, [<address>]).

Alternativamente, también puedes especificar el nombre de host directamente en el URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --host y ademas se especifica información conflictiva, resultará en error.

--port=<port>

Por defecto: 27017

Especifica el puerto TCP en el que la instancia de MongoDB escucha las conexiones de los clientes.

Alternativamente, también puedes especificar el puerto directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --port y se especifica información conflictiva, dará como resultado un error.

--ssl

Permite la conexión a un mongod o a un mongos que tenga habilitado el soporte de TLS/SSL.

Alternativamente, también puedes configurar el soporte TLS/SSL directamente en el URI connection string. Proveer una cadena de conexión, mientras también se utiliza --ssl y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslCAFile=<filename>

Especifica el archivo .pem que contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Alternativamente, también puedes especificar el archivo .pem directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslCAFile y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslPEMKeyFile=<filename>

Especifica el archivo .pem que contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Esta opción es obligatoria cuando se utiliza la opción --ssl para conectarse a un mongod o mongos que tiene CAFile habilitado sin allowConnectionsWithoutCertificates.

Alternativamente, también puedes especificar el archivo .pem directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslPEMKeyFile y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslPEMKeyPassword=<value>

Especifica la contraseña para descifrar el archivo de clave del certificado (es decir, --sslPEMKeyFile). Utiliza la opción --sslPEMKeyPassword solo si el archivo de clave del certificado está cifrado. En todos los casos, el mongostat ocultará la contraseña de todos los registros y reportes de salida.

Si la llave privada en el archivo PEM está cifrada y no se especifica la opción --sslPEMKeyPassword, el mongostat solicitará una frase de contraseña. Consultar la frase de contraseña del certificado TLS/SSL.

Alternativamente, también puedes especificar la contraseña directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --sslPEMKeyPassword y ademas se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

Advertencia

En algunos sistemas, una contraseña proporcionada directamente mediante la opción --sslPEMKeyPassword puede ser visible para los programas de estado del sistema, como ps, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción --config para especificar un archivo de configuración que contenga la contraseña.

--sslCRLFile=<filename>

Especifica el archivo .pem que contiene la Lista de revocación de certificados. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslAllowInvalidCertificates

Omite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuraciónallowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.

Advertencia

Aunque está disponible, evita utilizar la opción --sslAllowInvalidCertificates en lo posible. Si necesitas usar --sslAllowInvalidCertificates, utiliza únicamente la opción en los sistemas donde no sea posible la intrusión.

Conectarse a una instancia mongod o mongos sin validar los certificados del servidor es un riesgo potencial para la seguridad. Si solo necesitas deshabilitar la validación del nombre de host en los certificados TLS/SSL, consulta --sslAllowInvalidHostnames.

Alternativamente, también puedes deshabilitar la validación del certificado directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --sslAllowInvalidCertificates y se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--sslAllowInvalidHostnames

Desactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a mongostat conectarse a instancias de MongoDB incluso si el nombre de host en sus certificados no coincide con el nombre de host especificado.

Como alternativa, también puedes desactivar la validación del nombre de host directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --sslAllowInvalidHostnames y ademas se especifica información conflictiva, resultará en error.

Para obtener más información sobre TLS/SSL y MongoDB, consulta Configurar mongod y mongos para TLS/SSL y Configuración de TLS/SSL para clientes.

--username=<username>, -u=<username>

Especifica un nombre de usuario con el cual autenticarte en una base de datos MongoDB que utiliza autenticación. Utilízalo en conjunto con las --password y --authenticationDatabase opciones.

Alternativamente, también puede especificar el nombre de usuario directamente en el URI connection string. Proporcionar una cadena de conexión mientras también se utiliza --username y especificar información conflictiva resultará en un error.

Si se realiza la conexión a un clúster de MongoDB Atlas con el MONGODB-AWS authentication mechanism, se puede especificar la ID de clave de acceso de AWS en:

Ver Conéctese a un clúster MongoDB Atlas mediante credenciales de AWS IAM para ver un ejemplo de cada uno.

--password=<password>, -p=<password>

Especifica una contraseña con la que autenticarse en una base de datos de MongoDB que utiliza autenticación. Utiliza en conjunto con las --username y --authenticationDatabase opciones.

Para solicitar la contraseña al usuario, pasar la opción --username sin --password o especificar una string vacía como valor de --password, como en --password="" .

Alternativamente, también puedes especificar la contraseña directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --password y ademas se especifica información conflictiva, resultará en error.

Si se realiza la conexión a un clúster MongoDB Atlas con el authentication mechanism de MONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:

Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.

Advertencia

En algunos sistemas, una contraseña proporcionada directamente mediante la opción --password puede ser visible para programas de estado del sistema, como ps, que pueden ser invocados por otros usuarios. Considera en cambio:

  • omitiendo la opción --password para recibir una solicitud interactiva de contraseña, o

  • utilizando la opción --config para especificar un archivo de configuración que contenga la contraseña.

--awsSessionToken=<AWS Session Token>

Si se realiza la conexión a un clúster de MongoDB Atlas con el authentication mechanism de MONGODB-AWS y se usan tokens de sesión además de la ID de clave de acceso de AWS y la clave de acceso secreta, se puede especificar el token de sesión de AWS en:

Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener un ejemplo de cada uno.

Solo válido cuando se utiliza el MONGODB-AWS authentication mechanism.

--authenticationDatabase=<dbname>

Especifica la base de datos de autenticación donde se ha creado el --username especificado. Consultar la base de datos de autenticación.

--authenticationDatabase es necesaria para instancias de mongod y mongos que usan Autenticación en Implementaciones autogestionadas.

Si utiliza GSSAPI (Kerberos), PLAIN (LDAP SASL) o MONGODB-AWS authentication mechanisms, debe establecer --authenticationDatabase en $external.

Alternativamente, también puedes especificar la base de datos de autenticación directamente en la URI connection string. El ofrecer una cadena de conexión, mientras también se utiliza --authenticationDatabase y ademas se especifica información conflictiva, resultará en error.

--authenticationMechanism=<name>

Por defecto: SCRAM-SHA-1

Especifica el mecanismo de autenticación que la instancia mongostat utiliza para autenticarse en el mongod o en el mongos.

Cambiado en la versión 100.1.0: A partir de la versión 100.1.0, mongostat agrega soporte para el mecanismo de autenticación MONGODB-AWS al conectarse a un clúster de MongoDB Atlas.

Valor
Descripción

RFC 5802 mecanismo estándar de autenticación Salted Challenge Response que utiliza la función hash SHA-1.

RFC 7677 estándar del mecanismo de autenticación de respuesta a desafío salado utilizando la función de hash SHA-256.

Se debe establecer featureCompatibilityVersion en 4.0.

Autenticación de certificados TLS/SSL de MongoDB.

MONGODB-AWS

Autenticación externa utilizando credenciales de AWS IAM para conectarse a un clúster de MongoDB Atlas. Consulte Conéctese a un clúster de MongoDB Atlas usando credenciales de AWS IAM.

Nuevo en la versión 100.1.0.

GSSAPI (Kerberos)

Autenticación externa mediante Kerberos. Este mecanismo solo está disponible en MongoDB Enterprise.

PLAIN (SASL LDAP)

Autenticación externa mediante LDAP. También puedes utilizar PLAIN para autenticar a los usuarios de base de datos. PLAIN transmite contraseñas en texto plano. Este mecanismo solo está disponible en MongoDB Enterprise.

Alternativamente, también puedes especificar el mecanismo de autenticación directamente en la URI connection string. Proveer una cadena de conexión, mientras también se utiliza --authenticationMechanism y se especifica información conflictiva, resultará en error.

--gssapiServiceName=<string>

Especifica el nombre del servicio mediante GSSAPI/Kerberos. Solo es necesario si el servicio no utiliza el nombre por defecto de mongodb.

Esta opción solo está disponible en MongoDB Enterprise.

--gssapiHostName=<string>

Especifica el nombre de host de un servicio utilizando GSSAPI/Kerberos. Solo es necesario si el nombre de host de una máquina no coincide con el nombre de host resuelto por DNS.

Esta opción solo está disponible en MongoDB Enterprise.

--humanReadable=<boolean>

Por defecto: true

Cuando true, mongostat formatea fechas y valores de cantidad para facilitar la lectura, como en la siguiente muestra de salida:

insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
991 *0 *0 *0 0 2|0 3.4% 4.5% 0 2.90G 297M 0|0 0|0 12.9m 84.2k 2 Oct 6 09:45:37.478
989 *0 *0 *0 0 2|0 3.6% 4.7% 0 2.91G 310M 0|0 0|0 12.9m 84.1k 2 Oct 6 09:45:38.476
988 *0 *0 *0 0 1|0 3.7% 4.8% 0 2.92G 323M 0|0 0|0 12.8m 83.8k 2 Oct 6 09:45:39.481
976 *0 *0 *0 0 2|0 3.9% 5.0% 0 2.94G 335M 0|0 0|0 12.7m 83.7k 2 Oct 6 09:45:40.476

Cuando false, mongostat devuelve los datos sin procesar, como se muestra en el siguiente resultado de ejemplo:

insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time
992 *0 *0 *0 0 2|0 1.3 2.4 0 2941255680 149946368 0|0 0|0 12913607 84271 2 2016-10-06T09:45:25-04:00
989 *0 *0 *0 0 1|0 1.5 2.6 0 2974810112 163577856 0|0 0|0 12873225 84087 2 2016-10-06T09:45:26-04:00
996 *0 *0 *0 0 1|0 1.6 2.8 0 2972712960 177209344 0|0 0|0 12955423 84345 2 2016-10-06T09:45:27-04:00
987 *0 *0 *0 0 1|0 1.8 2.9 0 2989490176 190840832 0|0 0|0 12861852 84008 2 2016-10-06T09:45:28-04:00
-o=<field list>

Cuando -o los campos de mongostat salida se especifican con, solo los campos especificados se incluyen en la salida.

Utiliza notación de puntos para especificar serverStatus fields, como en metrics.document.inserted.

Un nombre de campo personalizado puede incluir espacios. Si incluye un espacio, no lo entrecomille. Para especificar un nombre personalizado para un campo, utilice <field>=<customName>, como en:

mongostat -o='host=H,time=T,version=MongoDB Version'

-o admite los siguientes métodos para modificar la información devuelta para un campo serverStatus dado:

.rate()

Utilice para ver la velocidad por segundo a la que un campo serverStatus cambia de .rate() una mongostat llamada a otra.

Ver la tasa de cambio de un campo con .rate() ilustra cómo usar mongostat con -o y el método .rate().

.diff()

Utiliza .diff() para ver cuánto ha cambiado un campo de serverStatus desde la llamada anterior a mongostat. El intervalo entre llamadas está especificado por <sleeptime>.

Ver cambios de campos con .diff() ilustra cómo usar mongostat con -o y el método .diff().

mongostat admite especificar ya sea -o o -O: no puedes incluir ambas opciones.

Consulte Especificar los campos de salida de mongostat como ejemplo de -o..

-O=<field list>

Cuando se especifica, mongostat incluye los campos especificados serverStatus después de la salida por defecto mongostat.

Utiliza notación de puntos para especificar serverStatus fields, como en metrics.document.inserted.

Un nombre de campo personalizado puede incluir espacios. Si incluye un espacio, no lo entrecomille. Para especificar un nombre personalizado para un campo, utilice <field>=<customName>, como en:

mongostat -O=host=H,time=T

mongostat admite especificar ya sea -O o -o: no puedes incluir ambas opciones.

Consulta Añadir campos a la salida de mongostat para ver un ejemplo de -O.

--noheaders

Deshabilita la salida de nombres de columna o campo.

--rowcount=<number>, -n=<number>

Controla el número de filas a exportar. Utilízalo junto con el argumento sleeptime para controlar la duración de una operación mongostat.

A menos que se indique --rowcount, mongostat devolverá un número infinito de filas (por ejemplo, valor de 0.)

--discover

Descubre y reporta estadísticas de todos los miembros de un set de réplicas o clúster. Al conectarse a cualquier nodo de un set de réplicas, --discover todos los nomiembros ocultos del set de réplicas. Al conectarse a un mongos, mongostat devolverá datos de todas las particiones en el clúster. Si un set de réplicas proporciona una partición en el clúster, mongostat informará sobre los miembros no ocultos de ese set de réplicas.

La opción mongostat --host no es obligatoria, pero puede ser útil en este caso.

Al ejecutarse con --discover, mongostat respeta --rowcount.

--all

Configura mongostat para que devuelva todos los campos opcionales.

--json

Devuelve la salida para mongostat en formato JSON.

--interactive

Muestra la salida mongostat en una interfaz interactiva sin desplazamiento en lugar de la salida con desplazamiento predeterminada.

--interactive no está disponible con la opción --json.

Consulte: Ver estadísticas en una interfaz interactiva para ver un ejemplo --interactive de.

<sleeptime>

Por defecto: 1

El último argumento mongostat es el tiempo, en segundos, que mongostat espera entre llamadas. Por defecto, mongostat devuelve una llamada por segundo.

mongostat devuelve valores que reflejan las operaciones durante un periodo de 1 segundos. Para valores de <sleeptime> mayores que 1, mongostat promedia los datos para reflejar las operaciones promedio por segundo.

mongostat Devuelve valores que reflejan las operaciones realizadas durante un 1 periodo de segundos. Cuando mongostat tiene un valor <sleeptime> mayor 1 que, mongostat promedia las estadísticas para reflejar el promedio de operaciones por segundo.

mongostat devuelve los siguientes campos:

inserts

El número de objetos insertados en la base de datos por segundo. Si va seguido de un asterisco (por ejemplo, *), el dato se refiere a una operación replicada.

query

El número de operaciones de consulta por segundo.

update

El número de operaciones de actualización por segundo.

delete

El número de operaciones de borrado por segundo.

getmore

El número de obtener más (es decir, operaciones por segundo por lote de cursor).

command

El número de órdenes por segundo. En sistemas secundarios, mongostat presenta dos valores separados por un pipe (por ejemplo, |), en forma de comandos local|replicated.

flushes

Para el motor de almacenamiento WiredTiger, flushes se refiere al número de puntos de control de WiredTiger activados entre cada intervalo de sondeo.

dirty

Solo para el motor de almacenamiento WiredTiger. El porcentaje de la caché de WiredTiger con bytes sucios, calculado mediante wiredTiger.cache.tracked dirty bytes in the cache wiredTiger.cache.maximum bytes configured/.

used

Solo para Motor de almacenamiento WiredTiger. El porcentaje de la caché WiredTiger que está en uso, calculado por wiredTiger.cache.bytes currently in the cache / wiredTiger.cache.maximum bytes configured.

vsize

La cantidad de memoria virtual en megabytes utilizada por el proceso en el momento de la última llamada a mongostat.

res

La cantidad de memoria residente en megabytes utilizada por el proceso en el momento de la última llamada de mongostat.

locked

El porcentaje de tiempo en un bloqueo de escritura global. Solo aparece cuando mongostat se ejecuta contra pre-3.0 versiones de instancias de MongoDB.

qr

La longitud de la cola de clientes que esperan para leer datos desde la instancia de MongoDB.

qw

La longitud de la cola de clientes que esperan escribir datos desde la instancia de MongoDB.

ar

La cantidad de clientes activos realizando operaciones de lectura.

aw

El número de clientes activos que realizan operaciones de guardar.

netIn

La cantidad de tráfico de red, en bytes, recibido por la instancia de MongoDB.

Esto incluye el tráfico del propio mongostat.

netOut

La cantidad de tráfico de red, en bytes, enviado por la instancia de MongoDB.

Esto incluye el tráfico del propio mongostat.

conn

El número total de conexiones abiertas.

set

El nombre, si corresponde, del set de réplicas.

repl

El estado de replicación del miembro.

Valor
Tipo de replicación

PRI

SEC

REC

recuperando

UNK

desconocido

RTR

mongos proceso ("router")

ARB

Para más información sobre la supervisión de MongoDB, consulta Supervisión de MongoDB.

Para obtener más información sobre otras salidas de estado de MongoDB, consulta:

Para una utilidad adicional que proporciona métricas de MongoDB, consulte mongotop.

Volver

Ejemplos

En esta página