Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Comandos de diagnóstico

Para el ComandobuildInfo, la respuesta contiene los siguientes campos:

Campo
Descripción

ok

Devuelve 1 en caso de éxito o 0 en caso de error.

version

Versión compatible con el cliente MongoDB. Esta es la versión más antigua del cliente MongoDB compatible con el servicio de Federación de Datos.

versionArray

Versión de compatibilidad del cliente MongoDB en formato arreglo.

dataLake.version

Número de versión de Data Federation.

dataLake.gitVersion

Versión Git del servicio de federación de datos.

dataLake.date

Marca de tiempo de compilación del servicio de Federación de datos.

dataLake.mongoSQLVersion

mongoSQL versión del servicio de Federación de Datos.

Ejemplo

{
"ok" : <return>,
"version" : "<version-number>",
"versionArray" : [
<number>,
<number>,
<number>,
<number>
],
"dataLake" : {
"version" : "<version-number>",
"gitVersion" : "<version-number>",
"date" : "<timestamp>",
"mongoSQLVersion" : "<version-number>"
}
}

Para el comando collStats, Atlas Data Federation omite los siguientes campos en la respuesta:

  • avgObjSize

  • capped

  • max

  • maxSize

  • wiredTiger

  • nindexes

  • totalIndexSize

  • indexSizes

Atlas Data Federation incluye los siguientes campos en la respuesta. Puedes usar estos campos para verificar qué particiones se utilizan para poblar una colección, comprender cuán recientemente se calcularon las estadísticas y determinar si Atlas Data Federation truncó el documento de salida.

Campo
Descripción

dataLake.partitionCount

Número de particiones.

dataLake.avgPartitionSize

Tamaño promedio de todas las particiones.

dataLake.partitions.format

Formato de archivo de la partición.

dataLake.partitions.attributes

Filtrado de los atributos de la partición.

dataLake.partitions.count

Número de documentos en la partición.

dataLake.partitions.size

Tamaño, en bytes, de la partición.

dataLake.partitions.source

URL de almacenamiento en la nube, que contiene la información de la partición.

dataLake.partitions.version

Versión de MongoDB del clúster Atlas. El comando collStats devuelve esto solo para Almacenes de datos de Atlas clúster. El valor tiene el siguiente formato:

<major-version-number>.<minor-version-number>.<patch-version-number>

Por ejemplo, 7.0.1.

cacheMetadata

Información sobre cómo recientemente Atlas Data Federation calculó las estadísticas.

cacheMetadata.computeTime

Hora en formato ISODate cuando comenzó el cálculo de las estadísticas.

cacheMetadata.automaticRefreshInProgress

Bandera que indica si ahora se está ejecutando un trabajo en segundo plano para actualizar la caché.

truncated

Bandera que indica si Atlas Data Federation aplicó el límite máximo de tamaño de documento de 16MiB. El valor del indicador puede ser uno de los siguientes:

  • true - si el tamaño del documento de salida superó el límite y, por lo tanto, se truncó para incluir solo las particiones suficientes que permitieran al documento cumplir con el límite de tamaño. Si true, los valores partitionCount y avgPartitionSize que devuelve Atlas Data Federation pueden ser menores que los valores reales.

  • false - si Atlas Data Federation devuelve el documento completo.

Ejemplo

{
...
"partitionCount": <number of partitions>,
"avgPartitionSize": <average size of all partitions>,
"partitions": [
{
"format": <file format>,
"attributes": <filtering attributes>,
"count": <number of documents in partition>,
"source": <cloud storage URL>,
"size": <size, in bytes, of the partition>
},
...
],
"truncated": false,
"cacheMetadata": {
computeTime: ISODate("2021-07-25T15:10:33.513Z"),
automaticRefreshInProgress: false
},
...
}

Atlas Data Federation introduce un parámetro booleano opcional, sync, para omitir la caché y obtener las estadísticas de almacenamiento más recientes de una colección dada. Los siguientes valores son válidos para el parámetro sync:

  • true - para omitir el caché y devolver las estadísticas de almacenamiento más recientes

  • false - para devolver datos almacenados en caché

Si se omite el parámetro sync, el valor predeterminado es false.

Ejemplo

db.runCommand( {collStats: "<string>", sync: true|false} )

Para obtener más información sobre los parámetros que admite este comando, consulte collStats.

Para el comando connectionStatus, Atlas Data Federation devuelve información sobre la conexión actual, específicamente el estado de los usuarios autenticados y sus rolesdisponibles.

Nota

Sólo un usuario puede autenticarse en una conexión a una instancia federada de base de datos en cualquier momento. Si un usuario se autentica y luego ejecuta el comando db.auth(), Data Federation reemplaza los permisos del usuario anterior por los del nuevo usuario.

El comando connectionStatus muestra únicamente al usuario recién autenticado en el campo de salida authenticatedUsers.

Para el comando dbStats, Atlas Data Federation introduce un parámetro booleano opcional, sync, para omitir la caché y obtener las estadísticas de almacenamiento más recientes de una base de datos específica. Los siguientes valores son válidos para el parámetro sync:

  • true - para omitir el caché y devolver las estadísticas de almacenamiento más recientes

  • false - para utilizar también los datos almacenados en caché

Si se omite el parámetro sync, el valor predeterminado es false.

Ejemplo

db.runCommand( {dbStats: 1, sync: true|false} )

Para aprender más sobre los parámetros compatibles con esta orden, consulte dbStats.

El comando "Atlas Data Federation" omite los siguientes campos en la respuesta:

  • object

  • avgObjSize

  • fsUsedSize

  • fsTotalSize

El comando añade los siguientes campos en la respuesta. Puedes utilizar estos campos para determinar si el comando devolvió datos desactualizados.

Campo
Descripción

cacheMetadata

Contiene información sobre qué tan recientemente se calcularon las estadísticas.

cacheMetadata.computeTime

Hora en formato ISODate cuando comenzó el cálculo de las estadísticas.

cacheMetadata.automaticRefreshInProgress

Bandera que indica si ahora se está ejecutando un trabajo en segundo plano para actualizar la caché.

El comando explain devuelve información que describe el plan del query de Data Federation. La salida de explain difiere de MongoDB en que proporciona información sobre las particiones de datos utilizadas para satisfacer la query.

Los siguientes comandos se pueden explicar en Data Federation:

  • aggregate()

  • count()

  • find()

Atlas Data Federation admite los siguientes modos verbosity:

  • queryPlanner - proporciona información sobre el plan del query. Si no se especifica el nivel de verbosidad, Atlas Data Federation utiliza este modo por defecto.

  • queryPlannerExtended - proporciona información detallada sobre el plan de consulta, incluida información sobre los objetos de almacenamiento de objetos, como los nombres y tamaños de los objetos de almacenamiento de objetos que se consultarán.

  • executionStats - proporciona estadísticas de ejecución de consultas y rendimiento.

Atlas Data Federation no admite el modo allPlansExecution.

Ejemplo

El siguiente ejemplo muestra cómo usar el comando explain para obtener información sobre el comando aggregate, incluida información detallada sobre el plan del query.

db.runCommand({ "explain": { "aggregate": "user", "verbosity":
"queryPlannerExtended", "pipeline": [ ], "cursor": {} }})

El siguiente ejemplo muestra cómo agregar un método al método explain, como el método find(), para obtener estadísticas de ejecución de queries en la query.

db.users.explain("executionStats").find({"type": "admin"})

Al ejecutar explain, Atlas Data Federation devuelve los siguientes campos adicionales para otras particiones:

Nombre del campo de salida
Descripción

stats

Documento que describe la cantidad y el tamaño total de las particiones que Atlas Data Federation podría abrir para la consulta.

stats.size

Tamaño total de las particiones que Atlas Data Federation podría abrir para la consulta.

stats.numberOfPartitions

Número de particiones que Atlas Data Federation podría abrir para la consulta.

truncated

Booleano que indica si la salida de explain está truncada. El tamaño total del documento de salida de explain está limitado a 16 MiB.

plan

Documento que contiene el plan de ejecución de la query para la query. El documento contiene nodos anidados del plan de ejecución, y cada uno de estos nodos es un documento que describe el nodo del plan. Los documentos del nodo del plan anidado contienen una descripción interna de la ejecución de consultas de Atlas Data Federation, e incluyen varios tipos de nodos que son susceptibles de cambiar. Ponte en contacto con el soporte de MongoDB si necesitas más ayuda para entender el plan del query.

En el modo queryPlanner, los resultados devueltos por explain proporcionan información detallada sobre las particiones en la instancia federada de base de datos.

Salida de ejemplo
1{
2 ok: 1,
3 stats: { size: '66 B', numberOfPartitions: 2 },
4 truncated: false,
5 plan: {
6 kind: 'region',
7 region: 'aws/us-east-1',
8 node: {
9 kind: 'data',
10 size: '66 B',
11 numberOfPartitions: 2,
12 partitionsTruncated: false,
13 partitions: [
14 {
15 source: 'projectID:cluster',
16 provider: 'atlas',
17 size: '4 B',
18 database: 'locations',
19 collection: 'nyc'
20 },
21 {
22 source: 'dls:projectID',
23 provider: 'dls:aws',
24 size: '62 B',
25 metadataLocation: { provider: 'aws', region: 'us-east-1' },
26 dataSetName: 'v1$atlas$archive$etc',
27 optimizationPlan: { kind: 'everything' }
28 }
29 ]
30 }
31 }
32}

El comando explain devuelve los siguientes campos adicionales para las particiones Atlas:

Salida
Descripción

database

Base de datos consultada por Atlas Data Federation.

collection

Colección que Atlas Data Federation consultó.

pipeline

Canal de agregación que ejecutó Atlas Data Federation.

El comando explain devuelve el siguiente campo adicional para las particiones del Archivo en línea:

Nombre del campo de salida
Descripción

optimizationPlan

Detalles sobre las optimizaciones del fichero en linea. Las queries probablemente se optimicen cuando contengan campos que coincidan con las claves de partición configuradas para un fichero en línea.

En el modo queryPlannerExtended, los resultados devueltos por explain proporcionan información ampliada de planificación de consultas para tipos de particiones.

Salida de ejemplo
1{
2 ok: 1,
3 stats: { size: '66 B', numberOfPartitions: 2 },
4 truncated: false,
5 plan: {
6 kind: 'region',
7 region: 'aws/us-east-1',
8 node: {
9 kind: 'data',
10 size: '66 B',
11 numberOfPartitions: 2,
12 partitionsTruncated: false,
13 partitions: [
14 {
15 source:'projectID:cluster',
16 provider: 'atlas',
17 size: '4 B',
18 database: 'locations',
19 collection: 'nyc'
20 },
21 {
22 source: 'dls:projectID',
23 provider: 'dls:aws',
24 size: '62 B',
25 metadataLocation: { provider: 'aws', region: 'us-east-1' },
26 dataSetName: 'v1$atlas$archive$etc',
27 scannedDataSetPartitionsCount: 1,
28 percentOfTotalPartitions: 100,
29 optimizationPlan: { kind: 'everything' }
30 },
31 ]
32 }
33 }
34}

El comando explain devuelve toda la información de queryPlanner y los siguientes campos adicionales para particiones de fichero en línea:

Nombre del campo de salida
Descripción

scannedDataSetPartitionsCount

Número de particiones escaneadas para completar la consulta.

percentOfTotalPartitions

Porcentaje de particiones escaneadas sobre el número total de particiones.

En el modo executionStats, los resultados devueltos por explain proporcionan información sobre estadísticas de ejecución de consultas y rendimiento únicamente para las particiones de Atlas. Esto se obtiene ejecutando un comando explain executionStats en la colección subyacente de Atlas de la partición de Atlas. Para particiones que no son de Atlas, explain devuelve la información de queryPlanner. El campo partitions en los resultados incluye un campo adicional explainResults, que es un documento que podría contener los siguientes campos:

Nombre del campo de salida
Descripción

executionStats

Proporciona información sobre la ejecución del plan del query ganador del clúster Atlas, incluida la cantidad de documentos y claves examinadas.

queryPlanner

Contiene información sobre la selección del plan del query del clúster Atlas, incluida la selección de índices.

stages

Incluye un desglose de las etapas del pipeline y estadísticas por cada etapa.

Nota

Para obtener más información sobre estos campos, consulte executionStats.

Salida de ejemplo
1{
2 ok: 1,
3 stats: { size: '66 B', numberOfPartitions: 2 },
4 truncated: false,
5 plan: {
6 kind: 'region',
7 region: 'aws/us-east-1',
8 node: {
9 kind: 'data',
10 size: '66 B',
11 numberOfPartitions: 2,
12 partitionsTruncated: false,
13 partitions: [
14 {
15 source: 'projectID:cluster',
16 provider: 'atlas',
17 size: '4 B',
18 database: 'locations',
19 collection: 'nyc',
20 explainResults: {
21 queryPlanner: {
22 ...
23 winningPlan: {
24 ...
25 },
26 rejectedPlans: []
27 },
28 executionStats: {
29 ...
30 },
31 stages: {
32 ...
33 }
34 }
35 },
36 {
37 source: 'dls:projectID',
38 provider: 'dls:aws',
39 size: '62 B',
40 metadataLocation: { provider: 'aws', region: 'us-east-1' },
41 dataSetName: 'v1$atlas$archive$etc'
42 },
43 ]
44 }
45 }
46}

Para el comando getLog, Atlas Data Federation devuelve una respuesta exitosa, pero no incluye datos del registro.

Para el comando getMore, Atlas Data Federation devuelve lotes subsecuentes de documentos actualmente apuntados por un cursor, cuando se utiliza junto con comandos que devuelven un cursor, por ejemplo, find y aggregate.

Para el comando hostInfo, Atlas Data Federation devuelve solo el siguiente subconjunto de campos de la respuesta estándar de MongoDB:

{
"ok" : <return>,
"system" : {
"currentTime" : ISODate("<timestamp>"),
"hostname" : "<hostname>",
"cpuAddrSize" : <number>,
"memSizeMB" : <number>,
"numCores" : <number>,
"cpuArch" : "<identifier>",
},
"os" : {
"type" : "<string>",
"name" : "<string>",
},
"extra" : { }
}

Para el comando ping, Atlas Data Federation prueba si un servidor responde a los comandos.

Para el comando whatsmyuri, Atlas Data Federation devuelve la dirección IP del cliente.

Volver

Administración

En esta página