Esta documentación es para la versión 100.14.1 de mongotop.
Synopsis
mongotop es una herramienta de línea de comandos que proporciona un método para rastrear la cantidad de tiempo que una instancia de MongoDB mongod dedica tiempo a leer y escribir datos. mongotop proporciona estadísticas por recopilación. Por defecto, mongotop devuelve valores cada segundo.
Sintaxis
mongotop sintaxis:
mongotop <options> <connection-string> <polling interval in seconds>
Si se ejecuta mongotop sin ninguna opción de línea de comandos, se conectará a la instancia que se mongod ejecuta en el host local a través del puerto 27017 y devolverá valores cada segundo de manera predeterminada.
mongotop
Para que mongotop informe cada 30 segundos, especifique el intervalo de sondeo:
mongotop 30
Cuando se conecta a una instancia, el programa informa primero sobre la conexión y luego informa sobre las estadísticas con la frecuencia mongod configurada.
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ...
Opciones de línea de comandos
mongotop [options] [frequency]
Puede ejecutar mongotop con varias opciones de línea de comandos.
Por ejemplo, para conectar mongotop a una instancia que se ejecuta en un host mongod remoto mongodb0.example.com e informar cada 30 segundos:
Puede incluir la frecuencia deseada de informes (en este ejemplo, 30 segundos) y la opción para especificar el host y el
--uripuerto:mongotop 30 --uri='mongodb://mongodb0.example.com:27017' [additional options] Si la instancia requiere autenticación, puede especificar el usuario, la contraseña y la base de datos de autenticación como parte de la cadena de conexión
mongodURI:mongotop 30 --uri='mongodb://user:password@mongodb0.example.com:27017/?authSource=admin' [additional options] El usuario que ejecuta
mongotopdebe tener los privilegiosserverStatustopy.Para obtener más información sobre la cadena de conexión URI,
--uriconsulte.Alternativamente, puede utilizar las
--hostopciones y para especificar el host y el puerto:--portmongotop 30 --host=mongodb0.example.com --port=27017 [additional options] Si la
mongodinstancia requiere autenticación, puede especificar el usuario-uy la base de--authenticationDatabasedatos de autenticación. Omita la--passwordopción para tenermongoexportSolicitar la contraseña.mongotop 30 --host=mongodb0.example.com --port=27017 -u=user --authenticationDatabase=admin [additional options] El usuario que ejecuta
mongotopdebe tener los privilegiosserverStatustopy.
Para obtener más información sobre las opciones disponibles, consulta Opciones.
Cuando se conecta a una instancia, el programa informa primero sobre la conexión y luego informa sobre las estadísticas con la frecuencia mongod configurada.
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ...
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.)
--quietEjecuta
mongotopen modo silencioso que intenta limitar la cantidad de salida.Esta opción suprime:
Actividad de replicación
eventos de aceptación de conexión
eventos de cierre de conexión
--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
mongotop:Esta es la forma recomendada de especificar una contraseña para
mongotop, 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 comandosmongotop, 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--sslPEMKeyPasswordmongotop, 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.0demongotop, la cadena de conexión puede proporcionarse alternativamente como un parámetro posicional, sin utilizar la opción--uri:mongotop 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:mongotop --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
mongotopen 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,
mongotopintenta conectarse a una instancia de MongoDB que se ejecuta en el host local en el número de puerto27017.Para conectarse a un set de réplicas, especifica el
replSetNamey una lista de nodos iniciales de los miembros del set, tal como se muestra a continuación:--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> Al especificar el formato de la lista del set de réplicas,
mongotopsiempre se conecta al primario.También puedes conectarte a cualquier Nodo individual del Set de réplicas especificando el host y el puerto de solo ese Nodo:
--host=<hostname1><: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.Si está conectado a un conjunto de réplicas donde no se puede acceder al principal,
mongotopdevuelve un mensaje de 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, elmongotopocultará 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, elmongotopsolicitará 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
mongotopconectarse 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.
Consulta Conectar a un clúster de MongoDB Atlas usando credenciales de AWS IAM para obtener 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.--authenticationDatabasees obligatorio para instancias demongodymongosque utilizan Autenticación en Implementaciones Autogestionadas. Consulte Base de Datos de Autenticación.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
mongotoputiliza para autenticarse en elmongodo en elmongos.Cambiado en la versión 100.1.0: A partir de la versión
100.1.0,mongotopagrega 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=<serviceName>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=<hostname>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.
--locksActiva o desactiva el modo para
mongotopinformar sobre el uso de bloqueos por base de datos. Estos datos solo están disponibles al conectarse a una instancia de MongoDB 2.6 o anterior.--locksdevuelve un error cuando se llama contra unamongod3.0 instancia o más nueva que no informa el uso del bloqueo por base de datos.
--jsonDevuelve la salida de
mongotopen formato JSON. Además de los datos de tiempo, la--jsonopción también devuelve un recuento del número de operaciones realizadas durante el intervalo de sondeo.
Campos
Cuando se conecta a una instancia, el programa informa primero sobre la conexión y luego informa sobre las estadísticas con la frecuencia mongod configurada. mongotop devuelve valores de tiempo especificados en milisegundos (ms).
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ... ns total read write <timestamp> <db.collection> 0ms 0ms 0ms ...
mongotop Solo informa sobre espacios de nombres o bases de datos activos, según la opción. Si no ve una base de datos o colección, significa --locks mongo que no mongotop ha tenido actividad reciente. Puede ejecutar una operación simple en el shell para generar actividad que afecte la salida de.
mongotop.nsContiene el espacio de nombres de la base de datos, que combina el nombre de la base de datos y la colección.
Si
mongotop --locksutiliza, el campo no aparece ennslamongotopsalida.
mongotop.dbContiene el nombre de la base de datos. La base de datos nombrada
.se refiere al bloqueo global, en lugar de a una base de datos específica.Este campo no aparece a menos que haya invocado
mongotopcon la--locksopción.
mongotop.totalProporciona la cantidad total de tiempo que este
mongodpasó operando en este espacio de nombres.
mongotop.readProporciona la cantidad de tiempo que este
mongoddedicó a realizar operaciones de lectura en este espacio de nombres.
mongotop.writeProporciona la cantidad de tiempo que este
mongoddedicó a realizar operaciones de guardar en este namespace.
Información Adicional
Para más información sobre la supervisión de MongoDB, consulta Supervisión de MongoDB.
Para obtener información adicional sobre otras salidas de estado de MongoDB, consulte:
Para obtener una utilidad adicional que proporciona métricas de MongoDB,mongostat consulte.