Docs Menu
Docs Home
/ /
/ / /

Ejemplos de mongostat

Esta página muestra ejemplos de mongostat.

Ejecute mongostat desde la línea de comandos del sistema, no desde el mongo caparazón.

En el primer ejemplo, mongostat devolverá datos cada segundo durante 20 segundos. mongostat recopila datos de la mongod instancia que se ejecuta en la interfaz localhost del 27017 puerto. Todas las siguientes invocaciones producen un comportamiento idéntico:

mongostat --rowcount=20 1
mongostat --rowcount=20
mongostat -n=20 1
mongostat -n=20

En el siguiente ejemplo, mongostat devuelve datos cada 5 minutos (o 300 segundos) mientras se ejecuta el programa. mongostat recopila datos de la instancia que se mongod ejecuta en la interfaz localhost del 27017 puerto. Las siguientes invocaciones producen un comportamiento idéntico:

mongostat --rowcount=0 300
mongostat -n=0 300
mongostat 300

En el siguiente ejemplo, mongostat devuelve datos cada 5 minutos durante una hora (12 veces). mongostat recopila datos de la instancia mongod que se ejecuta en la interfaz localhost en el puerto 27017. Las siguientes invocaciones producen el mismo comportamiento:

mongostat --rowcount=12 300
mongostat -n=12 300

-O permite especificar campos de la serverStatus salida para añadirlos a la mongostat salida predeterminada. Si incluye un espacio en el nombre del campo personalizado, no lo entrecomille.

El siguiente ejemplo agrega campos a la salida predeterminada mongostat:

mongostat -O='host,version,network.numRequests=network requests'

La salida mongostat se parece a:

insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time host version network requests
*0 *0 *0 *0 0 2|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 158b 39.4k 2 Oct 11 12:14:45.878 localhost:37017 3.3.14 91
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.3k 2 Oct 11 12:14:46.879 localhost:37017 3.3.14 95
*0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.2k 2 Oct 11 12:14:47.884 localhost:37017 3.3.14 99

Los siguientes campos se agregan a la salida predeterminada:

El campo network.numRequests tiene un nombre de campo personalizado, "solicitudes de red".

-o especifica las columnas mongostat que incluye en su salida. Puede especificar cualquier campo serverStatus como mongostat columna de salida.

El siguiente ejemplo utiliza campos personalizados mongostat para:

mongostat --port 27500 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'

La salida mongostat se parece a:

host Insert Rate Query Rate Command Rate Pages Req Inserted Rate
localhost:27500 180 1 8 2999446 9638
localhost:27500 40 3 12 2999601 9678
localhost:27500 181 2 9 3000207 9859
localhost:27500 39 2 12 3000362 9899
localhost:27500 181 2 11 3000969 10080
localhost:27500 39 2 10 3001124 10120

Los contadores y los nombres de campos personalizados correspondientes son:

Contador
Nombre de campo personalizado

contadores de operaciones.insertar.tasa

Tasa de inserción

contadores de operaciones.consulta.tasa

Tasa de consultas

contadores de operaciones.comando.tasa

Tasa de comando

wiredTiger.cache.pages solicitados desde la caché

Páginas requeridas

métricas.documento.insertado

Tasa de inserción

.rate() le permite ver la velocidad por segundo a la que un campo numérico ha cambiado entre una mongostat llamada y la siguiente. Por ejemplo, puede ver la velocidad a la que se han insertado documentos durante una operación de inserción., .rate() por lo tanto, puede ayudarle a ver el rendimiento de su mongod instancia.

El siguiente ejemplo informa sobre la tasa de cambio del campometrics.document.insertedserverStatus. La invocación utiliza la capacidad de-opara especificar el nombre de una columna para etiquetar metrics.document.inserted.rate() como "tasa de inserción" y metrics.document.inserted como "insertado":

mongostat -o='host,mem,bits,metrics.document.inserted.rate()=inserted rate,metrics.document.inserted=inserted' --rowcount=5

El resultado sería entonces similar a lo siguiente:

host mem.bits inserted rate inserted
localhost:37017 64 501 3455
localhost:37017 64 967 13128
localhost:37017 64 972 22851
localhost:37017 64 214 25000
localhost:37017 64 0 25000

.diff() devuelve la diferencia entre el valor actual del serverStatus campo y el valor de la mongostat llamada anterior. El siguiente ejemplo devuelve estadísticas sobre el número de documentos insertados en una colección: inserted diff es la diferencia en el metrics.document.inserted campo entre llamadas posteriores, mientras que inserted es el valor de.metrics.document.inserted

mongostat -o='host,mem.bits,metrics.document.inserted.diff()=inserted diff,metrics.document.inserted=inserted' --rowcount=5

El resultado sería entonces similar a lo siguiente:

host mem.bits inserted diff inserted
localhost:27017 64 0 25359
localhost:27017 64 94 25453
localhost:27017 64 938 26391
localhost:27017 64 964 27355
localhost:27017 64 978 28333

En muchos casos, usar la opción --discover te ayudará a obtener una snapshot más completa del estado de todo un grupo de máquinas. Si un proceso mongos conectado a un clúster shardeado se ejecuta en el puerto 27017 de la máquina local, puedes utilizar la siguiente forma para devolver las estadísticas de todos los miembros del clúster:

mongostat --discover

Utilice la --interactive opción para ver las estadísticas en un ncurses sin desplazamientoSalida interactiva de estilo . La opción permite resaltar hosts, columnas --interactive --discover o campos específicos para visualizarlos. Al combinarse con, muestra las estadísticas de todos los miembros de un conjunto de --interactiveréplicas o un clúster fragmentado, como en el siguiente ejemplo:

mongostat --discover --interactive

La salida para un clúster fragmentado se parecería entonces a:

host insert query update delete getmore command dirty used flushes mapped vsize res faults qrw arw net_in net_out conn set repl time
hostname.local:27018 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.25G 25.0M n/a 0|0 1|0 157b 43.9k 19 tic PRI Nov 2 11:44:46.439
hostname.local:27019 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439
hostname.local:27020 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439
hostname.local:27021 2017 *0 *0 *0 826 1029|0 0.0% 0.0% 0 3.25G 31.0M n/a 0|0 1|0 1.74m 1.60m 20 tac PRI Nov 2 11:44:46.439
hostname.local:27022 *2021 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.19G 32.0M n/a 0|0 1|0 322b 44.6k 12 tac SEC Nov 2 11:44:46.438
hostname.local:27023 *2022 *0 *0 *0 0 3|0 0.0% 0.0% 0 3.19G 33.0M n/a 0|0 1|0 323b 44.7k 12 tac SEC Nov 2 11:44:46.438
localhost:27017 2071 *0 *0 *0 0 2073|0 0 0B 2.43G 9.00M 0 0|0 0|0 249k 130k 4 RTR Nov 2 11:44:47.429
Press '?' to toggle help

Nuevo en la versión 100.1.0.

Para conectarse a un clúster de MongoDB Atlas que ha sido configurado para admitir la autenticación mediante credenciales de AWS IAM, se debe proporcionar un connection string a mongostat similar al siguiente:

mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Conectarse a Atlas usando credenciales de AWS IAM de esta manera utiliza el MONGODB-AWS authentication mechanism y el $external authSource, como se muestra en este ejemplo.

Si utiliza un token de sesión de AWS, proporciónelo también con el valor AWS_SESSION_TOKEN authMechanismProperties, de la siguiente manera:

mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>

Nota

Si el ID de la clave de acceso de AWS, la clave de acceso secreta o el token de sesión incluyen los siguientes caracteres:

: / ? # [ ] @

esos caracteres deben convertirse utilizando codificación por porcentaje.

Como alternativa, el ID de clave de acceso de AWS, la clave de acceso secreta y, opcionalmente, el token de sesión se pueden proporcionar fuera de la cadena de conexión utilizando las opciones --username, --password y --awsSessionToken, de la siguiente manera:

mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>

Cuando se proporcionan como parámetros de línea de comandos, estas tres opciones no requieren codificación por porcentaje.

También se pueden establecer estas credenciales en la plataforma usando variables estándar de entorno AWS IAM. mongostat comprueba las siguientes variables de entorno cuando se usa el MONGODB-AWS authentication mechanism:

  • AWS_ACCESS_KEY_ID

  • AWS_SECRET_ACCESS_KEY

  • AWS_SESSION_TOKEN

Si se establecen, estas credenciales no necesitan especificarse en la cadena de conexión ni a través de sus opciones explícitas.

Nota

Si se elige usar las variables de entorno de AWS para especificar estos valores, no se pueden mezclar ni combinar con las opciones explícitas o de la cadena de conexión correspondientes para estas credenciales. Se deben utilizar las variables de entorno para el ID de la clave de acceso y la clave de acceso secreta (y el token de sesión si se utiliza), o especificar cada una de estas utilizando las opciones explícitas o de la cadena de conexión.

El siguiente ejemplo establece estas variables de entorno en el shell bash:

export AWS_ACCESS_KEY_ID='<aws access key id>'
export AWS_SECRET_ACCESS_KEY='<aws secret access key>'
export AWS_SESSION_TOKEN='<aws session token>'

La sintaxis para configurar variables de entorno en otros shells será diferente. Consulta la documentación de tu plataforma para obtener más información.

Puedes comprobar que estas variables de entorno se han establecido con el siguiente comando:

env | grep AWS

Una vez configurado, el siguiente ejemplo se conecta a un clúster de MongoDB Atlas usando estas variables de entorno:

mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>

Volver

Comportamiento