Esta página muestra ejemplos de mongostat.
Ejecute mongostat desde la línea de comandos del sistema, no desde el
mongo caparazón.
Especifique mongostat período y frecuencia de recopilació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
Agregar campos a mongostat la salida
-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".
Especifique mongostat campos de salida
-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 |
Ver la tasa de cambio de un campo con .rate()
.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
Ver cambios en el campo con .diff()
.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
Ver estadísticas de un conjunto de réplicas o un clúster fragmentado
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
Ver estadísticas en una interfaz interactiva
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
Conéctese a un clúster de MongoDB Atlas usando credenciales de AWS IAM
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_IDAWS_SECRET_ACCESS_KEYAWS_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>