Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

sh.status() (método mongosh)

sh.status()

Cuando se ejecuta en una instancia mongos, imprime un informe formateado de la configuración de particionado y la información relacionada con los fragmentos existentes en un cluster con particionado. El comportamiento por defecto suprime la información detallada de los fragmentos si el número total de fragmentos es mayor o igual a 20.

El método tiene el siguiente sh.status() parámetro:

Parameter
Tipo
Descripción

verbose

booleano

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.

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.

El valor detallado por defecto es false.

La salida también incluye una sección de shardedDataDistribution, que brinda métricas de distribución de datos para cada colección particionada. Estos datos son los mismos que la salida de la etapa de agregación $shardedDataDistribution.

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 y Flex. Para obtener más información, consulta Comandos no compatibles.

  • 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.

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 mongos Instancias activas muestra, por defecto, información sobre la versión y el recuento de mongos instancias que han estado activas en los últimos 60 segundos:

active mongoses:
<version> : <num>

Si el método se ejecuta con el verbose parámetro en verdadero, la sección Instancias activas 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 enumera información sobre la(s) base(s) de datos. Muestra el nombre de la base de datos y la partición primaria para cada base de datos.

databases:
{ "_id" : <dbname1>, "primary" : <string>, "version": <document> }
{ "_id" : <dbname2>, "primary" : <string>, "version": <document> }
...

La sección Colección fragmentada proporciona información sobre los detalles de fragmentación para las colecciones fragmentadas. Para cada colección fragmentada, la sección muestra la clave de fragmentación, el número de fragmentos por fragmento, la distribución de fragmentos entre los fragmentos []1 y la información de etiquetas, si la hay, para el rango de claves de fragmentación.

<dbname>.<collection>
shard key: { <shard key> : <1 or hashed> }
unique: <boolean>
balancing: <boolean>
allowMigrations: <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> }
...

La sección Distribución de datos fragmentados muestra información sobre la distribución de datos para cada colección fragmentada:

shardedDataDistribution:
[
{
"ns" : "<database>.<collection>",
"shards" : [
{
"shardName" : "<shard name>",
"numOrphanedDocs" : <num>,
"numOwnedDocuments" : <num>,
"ownedSizeBytes" : <num>,
"orphanedSizeBytes" : <num>
}
]
}
]
sh.status.sharding-version._id

El es un identificador para los detalles de la _id versión.

sh.status.sharding-version.minCompatibleVersion

La es la versión mínima compatible del servidor de minCompatibleVersion configuración.

En las versiones de MongoDB anteriores a la 6.2, este campo está incluido en la colección config.version, pero en la versión mongosh 2.0.0 y posteriores, el campo no se devuelve en la salida sh.status(). A partir de MongoDB 6.2, este campo se elimina y no se devuelve en ninguna versión de mongosh ni en ninguna otra aplicación cliente. En su lugar, para obtener información sobre la versión, consulta la compatibilidad de características entre versiones (fcv).

sh.status.sharding-version.currentVersion

El es la versión actual del servidor de currentVersion configuración.

En las versiones de MongoDB anteriores a la 6.2, este campo está incluido en la colección config.version, pero en la versión mongosh 2.0.0 y posteriores, el campo no se devuelve en la salida sh.status(). A partir de MongoDB 6.2, este campo se elimina y no se devuelve en ninguna versión de mongosh ni en ninguna otra aplicación cliente. En su lugar, para obtener información sobre la versión, consulta la compatibilidad de características entre versiones (fcv).

sh.status.sharding-version.clusterId

El es la identificación del clúster clusterId fragmentado.

sh.status.active-mongoses

Si verbose es false, sh.status.active-mongosesmuestra la versión y el recuento de lasmongosinstancias activas. Lasmongosinstancias activas sonmongosinstancias que han sido contactadas en los últimos 60 segundos.

Si verbose truees, devuelve un sh.status.active-mongoses mongos documento para cada instancia activa de que contiene los siguientes campos:

Campo
Tipo de dato
Descripción

_id

String

El nombre del host y el puerto donde se ejecuta el mongos. El _id tiene el formato <hostname>:<port>.

advisoryHostFQDNs

Arreglo de cadenas

Arreglo de los nombres de dominio totalmente calificados (FQDN) de mongos.

created

fecha

Cuando se inició el mongos.

Nuevo en la versión 5.2.

mongoVersion

String

Versión de MongoDB en la que se ejecuta el mongos.

ping

fecha

Las instancias mongos envían pings al servidor de configuración cada 30 segundos. Este campo indica la última vez que se realizó el ping.

up

NumberLong

Número de segundos que el mongos ha estado activo desde el último ping.

waiting

Booleano

Este campo siempre es true y sólo se incluye por compatibilidad con versiones anteriores.

active mongoses:
{
"_id" : "<hostname:port>",
"advisoryHostFQDNs" : [ "<name>" ],
"created" : <ISODate>,
"mongoVersion" : <string>,
"ping" : <ISODate>,
"up" : <long>,
"waiting" : <boolean>
}
...
sh.status.autosplit

sh.status.autosplit indica si la partición automática está activada actualmente.

Nota

A partir de MongoDB 6.0.3, no se realiza la división automática de fragmentos. Esto se debe a las mejoras en la política de balanceo. Los comandos de división automática aún existen, pero no ejecutan ninguna operación.

En versiones de MongoDB anteriores a 6.1:

Los métodos mongo sh.enableBalancing(namespace) y sh.disableBalancing(namespace) no tienen ningún efecto en la división automática.

sh.status.automerge

Indica si AutoMerger está habilitado.

Nota

La sección automerge solo aparece si habilitas o deshabilitas el AutoMerger de forma explícita. Por defecto, el AutoMerger está habilitado.

sh.status.shards._id

El muestra el nombre del _id fragmento.

sh.status.shards.host

El muestra la ubicación del host del host fragmento.

sh.status.shards.tags

El muestra todas las etiquetas del fragmento. El campo solo se muestra si el fragmento tiene tags etiquetas.

sh.status.shards.state

Las state pantallas:

  • 0 si la partición no es consciente de particiones.

  • 1 si la partición tiene conocimiento de la partición.

Nota

A partir de MongoDB 6.0.3, no se realiza la división automática de fragmentos. Esto se debe a las mejoras en la política de balanceo. Los comandos de división automática aún existen, pero no ejecutan ninguna operación.

En versiones de MongoDB anteriores a 6.1:

Los métodos mongo sh.enableBalancing(namespace) y sh.disableBalancing(namespace) no tienen ningún efecto en la división automática.

sh.status.balancer.currently-enabled

currently-enabled indica si el balanceador está habilitado actualmente en el clúster fragmentado.

sh.status.balancer.currently-running

currently-running indica si el balanceador está actualmente en funcionamiento y, por lo tanto, si está balanceando el clúster.

sh.status.balancer.collections-with-active-migrations

collections-with-active-migrations enumera 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 sh.status() salida.

sh.status.balancer.failed-balancer-rounds-in-last-5-attempts

failed-balancer-rounds-in-last-5-attempts muestra el número de rondas de balanceo que fallaron, de entre las últimas cinco rondas intentadas. Una ronda de balanceo fallará cuando falle una migración de fragmento.

sh.status.balancer.last-reported-error

last-reported-error muestra el mensaje de error más reciente del balanceador. Si no ha habido errores, este campo no aparecerá en la sh.status() salida.

sh.status.balancer.time-of-reported-error

time-of-reported-error proporciona la fecha y hora del error más recientemente reportado.

sh.status.balancer.migration-results-for-the-last-24-hours

migration-results-for-the-last-24-hours muestra el número de migraciones en las últimas 24 horas y los mensajes de error de las migraciones fallidas. Si no ha habido migraciones recientes, migration-results-for-the-last-24-hours No recent migrationsmuestra.

migration-results-for-the-last-24-hours incluye todas las migraciones, incluidas aquellas no iniciadas por el balanceador.

sh.status.databases._id

El muestra el nombre de la base de _id datos.

sh.status.databases.primary

El primary muestra el fragmento principal de la base de datos.

sh.status.databases.version

El muestra la información de la versión de la base de version datos:

{ "uuid" : UUID("cc250b66-8638-49f7-a2e8-c6f1220b9d7a"), "lastMod" : 1 }

donde:

  • uuid es el identificador de la base de datos.

  • lastMod es la versión de la base de datos.

sh.status.databases.<collection>.shard-key

El muestra el documento de especificación de la clave de shard-key fragmentación.

sh.status.databases.<collection>.unique

El unique muestra si MongoDB impone unicidad en los valores de la clave de fragmento (es decir, si el índice de clave de fragmento subyacente es único).

sh.status.databases.<collection>.balancing

Muestra 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 devuelve false, esto indica que el balanceador no equilibra los datos en esta colección.

sh.status.databases.<collection>.allowMigrations

Muestra si se permiten migraciones para la colección. Cuando true, la colección permite migraciones. Cuando false, la colección no permite migraciones, evitando la migración de fragmentos para esta colección. Utiliza sh.enableMigrations() y sh.disableMigrations() para controlar esta configuración.

sh.status.databases.<collection>.chunks

El enumera todos los fragmentos y el número de trozos que residen en cada chunks fragmento.

sh.status.databases.<collection>.chunk-details

El enumera los detalles de los chunk-details 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>.tag

El enumera los detalles de las etiquetas asociadas con un rango de valores de clave de tag fragmento.

sh.status.shardedDataDistribution

Un arreglo de documentos que proporciona métricas de distribución de datos para cada colección particionada en el clúster. Los datos son los mismos que los obtenidos en la etapa de agregación $shardedDataDistribution.

sh.status.shardedDataDistribution.ns

El namespace de la colección particionada en el formato <database>.<collection>.

sh.status.shardedDataDistribution.shards

Un arreglo de documentos que informan las métricas de distribución de datos para cada partición.

sh.status.shardedDataDistribution.shards.shardName

El nombre de la partición.

sh.status.shardedDataDistribution.shards.numOrphanedDocs

El número de documentos huérfanos en la partición.

sh.status.shardedDataDistribution.shards.numOwnedDocuments

El número de documentos que posee la partición.

sh.status.shardedDataDistribution.shards.ownedSizeBytes

El tamaño estimado en bytes de los documentos pertenecientes a la partición cuando los documentos están descomprimidos.

sh.status.shardedDataDistribution.shards.orphanedSizeBytes

El tamaño estimado en bytes de los documentos huérfanos en la partición cuando los documentos no están comprimidos.

[1](,1 2) La sección de colección fragmentada, por defecto, muestra la información de los fragmentos si el número total de fragmentos es menor 20 que. Para mostrar la información cuando tenga 20 o más fragmentos, llame a los métodos con sh.status() el verbose parámetro establecido en, es true sh.status(true)decir,.