Esta documentación es para la versión 100.14.1 de mongostat.
Synopsis
mongostat es una herramienta de línea de comandos que proporciona una descripción general rápida del estado de un programa que se está ejecutando actualmente. mongod mongos Instancia o. Utilice mongostat para identificar cuellos de botella en el sistema.
mongostat es funcionalmente similar a la utilidad del sistema de archivos vmstat UNIX/Linux, pero proporciona datos sobre mongod las mongos instancias y.
Ejecuta mongostat desde la línea de comandos del sistema, no desde el shell de mongo.
Sintaxis
mongostat sintaxis:
mongostat <options> <connection-string> <polling interval in seconds>
opciones
--verbose, -vAumenta 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
-vincluyendo la opción varias veces (por ejemplo,-vvvvv.)
--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
passwordsin especificaruri, puede especificar los otros componentes de la cadena de conexión utilizando las opciones de línea de comandosmongostat, como--usernamey--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
passwordy una cadena de conexión en el campouricon una contraseña conflictiva,mongorestoreresultará en un error.Si especifica un archivo de configuración con
--configy también utiliza las opciones de línea de comandos--password,--urio--sslPEMKeyPasswordmongostat, 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.0demongostat, 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://omongodb+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
--urio 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 stringpueden especificarse alternativamente utilizando sus propias opciones explícitas de línea de comandos, como--usernamey--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
mongostaten Ubuntu 18.04, se puede recibir un mensaje de errorcannot unmarshal DNSal usar cadenas de conexión SRV (en el formatomongodb+srv://) con la opción--uri. Si es así, se debe usar una de las siguientes opciones en su lugar:la opción
--uricon una cadena de conexión no SRV (en la formamongodb://)la opción
--hostpara especificar el host al cual conectarse directamente
Advertencia
En algunos sistemas, una contraseña proporcionada en una cadena de conexión con la opción
--uripuede ser visible para programas de estado del sistema comopsque 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
--configpara 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,
mongostatintenta conectarse a una instancia de MongoDB que se ejecuta en el host local en el número de puerto27017.Para conectarse a un conjunto de réplicas, puede especificar el miembro o los miembros del conjunto sobre los que desea informar, como en el siguiente ejemplo (consulte también el indicador
--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--hosty 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--porty se especifica información conflictiva, dará como resultado un error.
--sslPermite la conexión a un
mongodo a unmongosque 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--ssly 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
.pemque contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslCAFiley 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
.pemque contiene tanto el certificado TLS/SSL como la clave. Especifica el nombre del archivo.pemcon rutas relativas o absolutas.Esta opción es obligatoria cuando se utiliza la opción
--sslpara conectarse a unmongodomongosque tieneCAFilehabilitado sinallowConnectionsWithoutCertificates.Alternativamente, también puedes especificar el archivo
.pemdirectamente en laURI connection string. Proveer una cadena de conexión, mientras también se utiliza--sslPEMKeyFiley 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--sslPEMKeyPasswordsolo si el archivo de clave del certificado está cifrado. En todos los casos, elmongostatocultará 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, elmongostatsolicitará 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--sslPEMKeyPasswordy 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
--sslPEMKeyPasswordpuede ser visible para los programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. En su lugar, considera usar la opción--configpara especificar un archivo de configuración que contenga la contraseña.
--sslCRLFile=<filename>Especifica el archivo
.pemque contiene la Lista de revocación de certificados. Especifica el nombre del archivo.pemcon 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.
--sslAllowInvalidCertificatesOmite las comprobaciones de validación de los certificados de servidor y permite el uso de certificados no válidos. Si utilizas la configuración
allowInvalidCertificates, MongoDB realiza un registro como advertencia del uso del certificado no válido.Advertencia
Aunque está disponible, evita utilizar la opción
--sslAllowInvalidCertificatesen 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
mongodomongossin 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--sslAllowInvalidCertificatesy 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.
--sslAllowInvalidHostnamesDesactiva la validación de los nombres de host en los certificados TLS/SSL. Permite a
mongostatconectarse 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--sslAllowInvalidHostnamesy 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
--passwordy--authenticationDatabaseopciones.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--usernamey especificar información conflictiva resultará en un error.Si se realiza la conexión a un clúster de MongoDB Atlas con el
MONGODB-AWSauthentication mechanism, se puede especificar la ID de clave de acceso de AWS en:este campo,
la
connection stringola variable de entorno
AWS_ACCESS_KEY_ID.
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
--usernamey--authenticationDatabaseopciones.Para solicitar la contraseña al usuario, pasar la opción
--usernamesin--passwordo 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--passwordy ademas se especifica información conflictiva, resultará en error.Si se realiza la conexión a un clúster MongoDB Atlas con el
authentication mechanismdeMONGODB-AWS, se puede especificar la clave de acceso secreta de AWS en:este campo,
la
connection stringola variable de entorno
AWS_SECRET_ACCESS_KEY.
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
--passwordpuede ser visible para programas de estado del sistema, comops, que pueden ser invocados por otros usuarios. Considera en cambio:omitiendo la opción
--passwordpara recibir una solicitud interactiva de contraseña, outilizando la opción
--configpara 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 mechanismdeMONGODB-AWSy 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:este campo,
el parámetro
AWS_SESSION_TOKENauthMechanismPropertiespara elconnection string, ola variable de entorno
AWS_SESSION_TOKEN.
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-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica la base de datos de autenticación donde se ha creado el
--usernameespecificado. Consultar la base de datos de autenticación.--authenticationDatabaseSe requiere paramongodlas instancias y quemongosusan autenticación en implementaciones autoadministradas.Si utiliza GSSAPI (Kerberos), PLAIN (LDAP SASL) o
MONGODB-AWSauthentication mechanisms, deberá configurar--authenticationDatabasea$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--authenticationDatabasey 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
mongostatutiliza para autenticarse en elmongodo en elmongos.Cambiado en la versión 100.1.0: A partir de la versión
100.1.0,mongostatagrega soporte para el mecanismo de autenticaciónMONGODB-AWSal conectarse a un clúster de MongoDB Atlas.ValorDescripciónSolicitud de comentarios 5802 Mecanismo de autenticación de respuesta de desafío salado estándar 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-AWSAutenticació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
PLAINpara autenticar a los usuarios de base de datos.PLAINtransmite 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--authenticationMechanismy 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,mongostatformatea fechas y valores de cantidad para facilitar su lectura, como en el siguiente ejemplo 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,mongostatdevuelve los datos sin procesar, como en el siguiente ejemplo de salida: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
-olos campos demongostatsalida se especifican con, solo los campos especificados se incluyen en la salida.Utilice la notación de puntos para especificar,
serverStatus fieldscomometrics.document.inserteden.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' -oAdmite los siguientes métodos para modificar la información devuelta para un campo serverStatus determinado:.rate()Utilice para ver la velocidad por segundo a la que un campo serverStatus cambia de
.rate()unamongostatllamada a otra.Ver la tasa de cambio de un campo con
.rate()ilustra cómo utilizarmongostatcon-oy el.rate()método.
.diff()Utilice para ver cuánto ha cambiado un campo serverStatus desde la
.diff()últimamongostatllamada. El intervalo entre llamadas se especifica<sleeptime>con.Ver cambios en el campo con
.diff()ilustra cómo utilizarmongostatcon-oy el.diff()método.
mongostatadmite-o-Ola especificación de o: no puede incluir ambas opciones.Consulte Especificar
mongostatcampos de salida para ver un-oejemplo de.
-O=<field list>Cuando se especifica,
mongostatincluye losserverStatuscampos especificados después de lamongostatsalida predeterminada.Utilice la notación de puntos para especificar,
serverStatus fieldscomometrics.document.inserteden.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 mongostatadmite-O-ola especificación de o: no puede incluir ambas opciones.Consulta Añadir campos a la salida de
mongostatpara ver un ejemplo de-O.
--rowcount=<number>, -n=<number>Controla el número de filas a generar. Úselo junto con el argumento
sleeptimepara controlar la duración de una operaciónmongostat.A menos que se
--rowcountespecifique,mongostatdevolverá un número infinito de filas (por ejemplo, el valor de).0
--discoverDetecta y genera informes sobre las estadísticas de todos los miembros de un conjunto de réplicas o un clúster fragmentado. Al conectarse a cualquier miembro de un conjunto de réplicas,
--discoverrecupera todos losmiembros no ocultos del conjunto de réplicas. Al conectarse a un,mongosmongostatrecupera datos de todos los fragmentos del clúster. Si un conjunto de réplicas proporciona un fragmento en el clúster fragmentado, recuperamongostatlos miembros no ocultos de ese conjunto de réplicas.La opción no es obligatoria pero potencialmente útil en este
mongostat --hostcaso.Cuando se
--discovermongostatejecuta--rowcountcon, respeta.
--allConfigura
mongostatpara que devuelva todos los campos opcionales.
--jsonDevuelve la salida para
mongostaten formato JSON.
--interactiveMuestra la salida
mongostaten una interfaz interactiva sin desplazamiento en lugar de la salida con desplazamiento predeterminada.--interactiveno está disponible con la--jsonopción.Consulte: Ver estadísticas en una interfaz interactiva para ver un ejemplo
--interactivede.
<sleeptime>Por defecto: 1
El último argumento
mongostates el tiempo, en segundos, quemongostatespera entre llamadas. Por defecto,mongostatdevuelve una llamada por segundo.mongostatDevuelve valores que reflejan las operaciones realizadas durante un periodo de 1 segundos. Para valores de<sleeptime>mayores que 1,mongostatpromedia los datos para reflejar el promedio de operaciones por segundo.
Campos
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 genera los siguientes campos:
insertsEl 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.
queryEl número de operaciones de consulta por segundo.
updateEl número de operaciones de actualización por segundo.
deleteEl número de operaciones de eliminación por segundo.
getmoreEl número de operaciones de obtención de más datos (es decir, lote de cursor) por segundo.
commandNúmero de comandos por segundo. En sistemas secundarios,
mongostatpresenta dos valores separados por una barra vertical (p.|ej.,), en forma delocal|replicatedcomandos.
flushesPara el motor de almacenamiento WiredTiger,
flusheshace referencia a la cantidad de puntos de control de WiredTiger activados entre cada intervalo de sondeo.
dirtySolo 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 cachewiredTiger.cache.maximum bytes configured/.
usedSolo para el motor de almacenamiento WiredTiger. El porcentaje de caché de WiredTiger en uso, calculado mediante
wiredTiger.cache.bytes currently in the cachewiredTiger.cache.maximum bytes configured/.
vsizeLa cantidad de memoria virtual en megabytes utilizada por el proceso en el momento de la última llamada
mongostat.
resLa cantidad de memoria residente en megabytes utilizada por el proceso en el momento de la última llamada
mongostat.
lockedEl porcentaje de tiempo en un bloqueo de escritura global. Solo aparece cuando
mongostatse ejecuta en versiones anteriores a3.0 de instancias de MongoDB.
qrLa longitud de la cola de clientes que esperan leer datos de la instancia de MongoDB.
qwLa longitud de la cola de clientes que esperan escribir datos desde la instancia de MongoDB.
arEl número de clientes activos que realizan operaciones de lectura.
awEl número de clientes activos que realizan operaciones de escritura.
netInLa cantidad de tráfico de red, en bytes, recibido por la instancia de MongoDB.
Esto incluye el tráfico del propio
mongostat.
netOutLa cantidad de tráfico de red, en bytes, enviado por la instancia de MongoDB.
Esto incluye el tráfico del propio
mongostat.
connEl número total de conexiones abiertas.
setEl nombre, si corresponde, del conjunto de réplicas.
replEl estado de replicación del miembro.
ValorTipo de replicaciónPRISECRECrecuperando
UNKdesconocido
RTRmongosproceso ("enrutador")ARB
Información Adicional
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, consulte:
Para obtener una utilidad adicional que proporciona métricas de MongoDB,mongotop consulte.