Monitoreo de MongoDB
Después de haber instalado, implementado y puesto en marcha el servicio de MongoDB, debes conocer el estado de funcionamiento de MongoDB y revisar su rendimiento. De esta manera, podrás responder adecuadamente en situaciones de alto tráfico y asegurar que MongoDB funcione correctamente.
MongoDB proporciona dos comandos, mongostat y mongotop, para monitorear el estado de funcionamiento de MongoDB.
Comando mongostat
mongostat es una herramienta de detección de estado integrada en MongoDB, que se utiliza en la línea de comandos. Obtiene el estado de ejecución actual de MongoDB a intervalos fijos y lo muestra. Si notas que la base de datos se vuelve lenta repentinamente o tiene otros problemas, tu primera acción debe ser considerar usar mongostat para ver el estado de Mongo.
Inicia tu servicio Mongod, entra al directorio bin dentro del directorio de MongoDB que instalaste y luego ejecuta el comando mongostat, como se muestra a continuación:
D:\set up\mongodb\bin>mongostat
El resultado de salida del comando anterior es el siguiente:
Comando mongotop
mongotop también es una herramienta integrada de MongoDB. mongotop proporciona un método para rastrear una instancia de MongoDB y ver dónde se gasta la mayor parte del tiempo en la lectura y escritura de datos. mongotop proporciona estadísticas a nivel de cada colección. De forma predeterminada, mongotop devuelve valores cada segundo.
Inicia tu servicio Mongod, entra al directorio bin dentro del directorio de MongoDB que instalaste y luego ejecuta el comando mongotop, como se muestra a continuación:
D:\set up\mongodb\bin>mongotop
El resultado de ejecutar el comando anterior es el siguiente:
Ejemplo con parámetros
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop 10
El 10 al final es<sleeptime>el parámetro, que es opcional. Es el tiempo de espera, en segundos, entre invocaciones de mongotop. De forma predeterminada, mongotop devuelve datos cada segundo.
E:\mongodb-win32-x86_64-2.2.1\bin>mongotop --locks
Para informar sobre el uso de bloqueos de cada base de datos, use mongotop --locks, lo que producirá la siguiente salida:
Descripción de los campos del resultado de salida:
-
ns:
Contiene el espacio de nombres de la base de datos, que combina el nombre de la base de datos y la colección.
db:
Contiene el nombre de la base de datos. Una base de datos llamada '.' corresponde al bloqueo global, no a una base de datos específica.
total:
El tiempo total que mongod dedicó a trabajar en este espacio de nombres.
read:
Proporciona la cantidad de tiempo que mongod dedicó a realizar operaciones de lectura en este espacio de nombres.
write:
Proporciona la cantidad de tiempo que mongod dedicó a operaciones de escritura en este espacio de nombres.