Definición
sh.status()Cuando se ejecuta en un La instancia
mongosimprime un informe formateado de la configuración del particionado y la información relativa a los fragmentos existentes en un clúster. El comportamiento por defecto suprime la información detallada de fragmentos si el número total de fragmentos es mayor o igual a 20.El método
sh.status()tiene el siguiente parámetro:ParameterTipoDescripciónverbosebooleano
opcional. Determina el nivel de verbosidad.
Si
true, el método muestra:Detalles completos de la distribución de fragmentos a través de particiones, incluso si tienes 20 o más fragmentos, así como el número de fragmentos en cada partición.
Detalles de instancias mongos activas.
Si
false, el método muestra:Detalles completos de la distribución de fragmentos en particiones sólo si tienes menos de 20 fragmentos. Si tienes 20 o más fragmentos, el método en su lugar devuelve un mensaje
too many chunks to print ..., mostrando solo la cantidad de fragmentos en cada partición.Solo la versión y el número de instancias activas de mongos.
El valor detallado por defecto es
false.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando no es compatible con los clústeres M0, M2, y M5. Para obtener más información, consulte Comandos incompatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Ejemplos de salida
La sección Versión de particionado muestra información sobre la base de datos de configuración:
--- Sharding Status --- sharding version: { "_id" : <num>, "minCompatibleVersion" : <num>, "currentVersion" : <num>, "clusterId" : <ObjectId> }
La sección Particiones enumera información sobre la(s) partición(es). Para cada partición, la sección muestra el nombre, el host y las etiquetas asociadas, si hay alguna.
shards: { "_id" : <shard name1>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } { "_id" : <shard name2>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> } ...
La sección Instancias activas de mongos muestra, por defecto, información sobre la versión y el número de instancias de mongos que han estado activas en los últimos 60 segundos:
active mongoses: <version> : <num>
Si el método se ejecuta con el parámetro verbose en verdadero, la sección Instancias activas de mongos muestra información adicional:
active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> }
El Autosplit muestra información sobre si autosplit está activado:
autosplit: Currently enabled: <yes|no>
La sección Balancer enumera información sobre el estado del balanceador. Esto proporciona una perspectiva sobre la operación actual del balanceador y puede ser útil para solucionar problemas en un clúster no balanceado.
balancer: Currently enabled: yes Currently running: yes Collections with active migrations: config.system.sessions started at Fri May 15 2020 17:38:12 GMT-0400 (EDT) Failed balancer rounds in last 5 attempts: 0 Migration Results for the last 24 hours: 416 : Success 1 : Failed with error 'aborted', from shardA to shardB
La sección Bases de datos incluye información sobre las bases de datos. Para cada base de datos, la sección muestra el nombre, si la base de datos tiene habilitado el particionamiento y la partición primaria de la base de datos.
databases: { "_id" : <dbname1>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> } { "_id" : <dbname2>, "primary" : <string>, "partitioned" : <boolean>, "version": <document> } ...
La sección Colección particionada proporciona información sobre los detalles de particionado para las colecciones particionadas. Para cada colección particionada, la sección muestra la clave de partición, el número de fragmentos por partición(es), la distribución de fragmentos entre las particiones [1], y la información de etiquetas, si la hay, para los rangos de claves de partición.
<dbname>.<collection> shard key: { <shard key> : <1 or hashed> } unique: <boolean> balancing: <boolean> chunks: <shard name1> <number of chunks> <shard name2> <number of chunks> ... { <shard key>: <min range1> } -->> { <shard key> : <max range1> } on : <shard name> <last modified timestamp> { <shard key>: <min range2> } -->> { <shard key> : <max range2> } on : <shard name> <last modified timestamp> ... tag: <tag1> { <shard key> : <min range1> } -->> { <shard key> : <max range1> } ...
Campos de salida
Versión de particionado
sh.status.sharding-version._idEl
_ides un identificador para los detalles de la versión.
sh.status.sharding-version.minCompatibleVersionLa
minCompatibleVersiones la versión mínima compatible del servidor de configuración.
sh.status.sharding-version.currentVersionEl
currentVersiones la versión actual del servidor de configuración.
sh.status.sharding-version.clusterIdEl
clusterIdes la identificación del clúster.
Instancias activas mongos
Novedad en la versión 3.2.
sh.status.active-mongosesSi
verboseesfalse,sh.status.active-mongosesmuestra la versión y el recuento de las instancias activas demongos. Las instancias activasmongosson instanciasmongosa las que se ha hecho ping en los últimos 60 segundos.Si
verboseestrue, devuelve para cada instancia activa demongos:Su nombre de host y puerto.
Un arreglo de los nombres de dominio totalmente calificados (FQDN) de la instancia.
Su versión de MongoDB.
Su fecha y hora de ping más reciente.
Su tiempo de actividad desde el último ping.
Su estado de espera.
active mongoses: { "_id" : "<hostname:port>", "advisoryHostFQDNs" : [ "<name>" ], "mongoVersion" : <string>, "ping" : <ISODate>, "up" : <long>, "waiting" : <boolean> } ...
Autosplit
sh.status.autosplitsh.status.autosplitindica si la partición automática está activada actualmente.
Nota
A partir de MongoDB 4.2:
El comando
balancerStarty los métodos demongoasistentes de shellsh.startBalancer()ysh.setBalancerState(true)también permiten la división automática en la clúster.To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit().El comando
balancerStopy los métodos asistentes de shellmongo,sh.stopBalancer(), ysh.setBalancerState(false)también desactivan la fragmentación automática para el clúster.To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit().
Los métodos mongo sh.enableBalancing(namespace) y sh.disableBalancing(namespace) no afectan la división automática.
Fragmentos
sh.status.shards._idEl
_idmuestra el nombre de la partición.
sh.status.shards.hostEl
hostmuestra la ubicación del host de la partición.
sh.status.shards.tagsEl
tagsmuestra todas las etiquetas para la partición. El campo solo se muestra si la partición tiene etiquetas.
sh.status.shards.stateNovedad en la versión 3.4.
El
statemuestra:0si la partición no es consciente de particiones.1si la partición tiene conocimiento de la partición.
Balanceador
Nota
A partir de MongoDB 4.2:
El comando
balancerStarty los métodos demongoasistentes de shellsh.startBalancer()ysh.setBalancerState(true)también permiten la división automática en la clúster.To disable auto-splitting when the balancer is enabled, you can usesh.disableAutoSplit().El comando
balancerStopy los métodos asistentes de shellmongo,sh.stopBalancer(), ysh.setBalancerState(false)también desactivan la fragmentación automática para el clúster.To enable auto-splitting when the balancer is disabled, you can usesh.enableAutoSplit().
Los métodos mongo sh.enableBalancing(namespace) y sh.disableBalancing(namespace) no afectan la división automática.
sh.status.balancer.currently-enabledcurrently-enabledindica si el balanceador está actualmente habilitado en el clúster particionado.
sh.status.balancer.currently-runningcurrently-runningindica si el balanceador está actualmente en funcionamiento y, por tanto, equilibrando actualmente el clúster.
sh.status.balancer.collections-with-active-migrationscollections-with-active-migrationsmuestra los nombres de las colecciones con migraciones activas y especifica cuándo comenzó la migración. Si no hay migraciones activas, este campo no aparecerá en la salida desh.status().
sh.status.balancer.failed-balancer-rounds-in-last-5-attemptsfailed-balancer-rounds-in-last-5-attemptsmuestra el número de rondas del balanceador que fallaron, de entre las últimas cinco rondas intentadas. Una ronda de balanceador fallará cuando falla una migración de fragmento.
sh.status.balancer.last-reported-errorlast-reported-errormuestra el mensaje de error más reciente del balanceador. Si no se han producido errores, este campo no aparecerá en la salida desh.status().
sh.status.balancer.time-of-reported-errortime-of-reported-errorproporciona la fecha y hora del error más recientemente reportado.
sh.status.balancer.migration-results-for-the-last-24-hoursmigration-results-for-the-last-24-hoursmuestra el número de migraciones en las últimas 24 horas, así como los mensajes de error de las migraciones fallidas. Si no ha habido migraciones recientes,migration-results-for-the-last-24-hoursmuestraNo recent migrations.migration-results-for-the-last-24-hoursincluye todas las migraciones, incluidas aquellas que no son iniciadas por el balanceador.
Databases
sh.status.databases._idEl
_idmuestra el nombre de la base de datos.
sh.status.databases.partitionedEl
partitionedmuestra si la base de datos tiene habilitado el particionado. Sitrue, la base de datos tiene habilitado el particionado.
sh.status.databases.primaryprimarymuestra la partición primaria de la base de datos.
sh.status.databases.versionLa
versionmuestra la información de la versión de la base de datos:{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 } donde:
uuides el identificador de la base de datos.lastModes la versión de la base de datos.
Colección particionada
sh.status.databases.<collection>.shard-keyLa
shard-keymuestra el documento de especificación de la clave de partición.
sh.status.databases.<collection>.uniqueEl
uniquemuestra si MongoDB aplica la unicidad en los valores de la clave de partición (es decir, si el índice de clave de partición subyacente es único).Novedad en la versión 3.2.
sh.status.databases.<collection>.balancingMuestra si el balanceador puede equilibrar la colección. Si el equilibrador está activado y este estado devuelve
true, el equilibrador incluirá esta colección en las operaciones de equilibrio. Si el estado devuelvefalse, esto indica que el balanceador no equilibra los datos en esta colección.Novedad en la versión 3.2.
sh.status.databases.<collection>.chunksEl
chunkslista todas las particiones y el número de fragmentos que residen en cada partición.
sh.status.databases.<collection>.chunk-detailsEl
chunk-detailslista los detalles de los fragmentos [1]:El rango de valores de la clave de partición que definen el fragmento,
La partición donde reside el fragmento, y
La última marca de tiempo modificada para el fragmento.
sh.status.databases.<collection>.tagLa
tagenumera los detalles de las etiquetas asociadas con un rango de valores de la clave de partición.
| [1] | (1, 2) La sección de la colección particionada, por defecto, muestra la información de fragmentos si el número total de fragmentos es menor a 20. Para mostrar la información cuando tenga 20 fragmentos o más, llame a los métodos sh.status() con el parámetro verbose establecido en true, es decir, sh.status(true). |