Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Comandos de diagnóstico

Nesta página

  • buildInfo
  • collStats
  • connectionStatus
  • dbStats
  • explain
  • Uso
  • Saída
  • getLog
  • getMore
  • hostInfo
  • ping
  • whatsmyuri

Para o comando buildInfo , a resposta contém os seguintes campos:

Campo
Descrição

ok

Retorna 1 para sucesso ou 0 para falha.

version

Versão de compatibilidade do cliente MongoDB. Esta é a versão mais antiga do cliente MongoDB com a qual o serviço do Data Federation é compatível.

versionArray

Versão de compatibilidade do cliente MongoDB no formato de array.

dataLake.version

Número da versão do Data Federation.

dataLake.gitVersion

Versão Git do serviço Data Federation.

dataLake.date

Construir carimbo de data/hora do serviço do Data Federation.

dataLake.mongoSQLVersion

mongoSQL versão do serviço Data Federation.

Exemplo

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

Para o comando collStats , o Atlas Data Federation omite os seguintes campos na resposta:

  • avgObjSize

  • capped

  • max

  • maxSize

  • wiredTiger

  • nindexes

  • totalIndexSize

  • indexSizes

O Atlas Data Federation inclui os seguintes campos na resposta. Você pode usar esses campo para verificar quais partições são usadas para preencher uma collection, entender há quanto tempo as estatísticas foram calculadas e determinar se o Atlas Data Federation truncaram o documento de saída.

Campo
Descrição

dataLake.partitionCount

Número de partições.

dataLake.avgPartitionSize

Tamanho médio de todas as partições.

dataLake.partitions.format

Formato de arquivo da partição.

dataLake.partitions.attributes

Filtrando atributos da partição.

dataLake.partitions.count

Número de documentos na partição.

dataLake.partitions.size

Tamanho, em bytes, da partição.

dataLake.partitions.source

URL de armazenamento na nuvem, que contém os dados de backup da partição.

dataLake.partitions.version

Versão do MongoDB do Atlas cluster. O comando collStats retorna isto somente para armazenamentos de dados doAtlas Cluster do . O valor tem o seguinte formato:

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

Por exemplo, 7.0.1.

cacheMetadata

Informações sobre quão recentemente o Atlas Data Federation calculou as estatísticas.

cacheMetadata.computeTime

Hora no formato ISODate em que o cálculo das estatísticas foi iniciado.

cacheMetadata.automaticRefreshInProgress

Sinalizador que indica se uma tarefa em segundo plano está em execução agora para atualizar o cache.

truncated

Sinalizador que indica se o Atlas Data Federation aplicou o limite máximo de tamanho de documento de 16MiB. O valor do sinalizador pode ser um dos seguintes:

  • true - se o tamanho do documento de saída exceder o limite e, portanto, for truncado para incluir apenas partições suficientes que permitam ao documento estar em conformidade com o limite de tamanho. Se true, os valores partitionCount e avgPartitionSize que o Atlas Data Federation retorna podem ser menores do que os valores reais.

  • false - se o Atlas Data Federation retornar o documento inteiro.

Exemplo

{
...
"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 introduz um parâmetro booleano opcional, sync, para ignorar o cache e buscar as estatísticas de armazenamento mais recentes para uma determinada collection. The following values are valid for the sync parameter:

  • true - para ignorar o cache e retornar as estatísticas de armazenamento mais recentes

  • false - para retornar dados em cache

Se o parâmetro sync for omitido, o padrão será false .

Exemplo

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

Para saber mais sobre os parâmetros suportados por este comando, consulte collStats.

Para o comando connectionStatus , o Atlas Data Federation retorna informações sobre a conexão atual, especificamente o estado dos usuários autenticados e suas funções disponíveis.

Observação

Somente um usuário pode autenticar em uma conexão com uma instância do banco de dados federado a qualquer momento. Se um usuário autenticar e depois executar o comando db.auth() , o Data Federation substituirá as permissões do usuário anterior pelas permissões do novo usuário.

O comando connectionStatus mostra somente o usuário recém-autenticado no campo de saída authenticatedUsers .

Para o comando dbStats , o Atlas Data Federation introduz um parâmetro booleano opcional, sync, para ignorar o cache e buscar as estatísticas de armazenamento mais recentes para um determinado banco de dados de dados. Os seguintes valores são válidos para o parâmetro sync :

  • true - para ignorar o cache e retornar as estatísticas de armazenamento mais recentes

  • false - para usar também os dados em cache

Se o parâmetro sync for omitido, o padrão será false .

Exemplo

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

Para saber mais sobre os parâmetros suportados por este comando, consulte dbStats.

O comando do Atlas Data Federation emite os seguintes campos na resposta:

  • object

  • avgObjSize

  • fsUsedSize

  • fsTotalSize

Os comandos adicionam os seguintes campos na resposta. Você pode utilizar estes campos para determinar se o comando retornou dados obsoletos.

Campo
Descrição

cacheMetadata

Contém informações sobre há quanto tempo as estatísticas foram calculadas.

cacheMetadata.computeTime

Hora no formato ISODate em que o cálculo das estatísticas foi iniciado.

cacheMetadata.automaticRefreshInProgress

Sinalizador que indica se uma tarefa em segundo plano está em execução agora para atualizar o cache.

O comando explain retorna informações que descrevem o plano de query da Data Federation . A saída explain difere do MongoDB porque fornece informações sobre as partições de dados usadas para satisfazer a query.

Os seguintes comandos podem ser explicados no Data Federation:

  • aggregate()

  • count()

  • find()

O Atlas Data Federation suporta os seguintes modos do verbosity :

  • queryPlanner - fornece informações sobre o plano de query. Se a verbosidade não for especificada, o Atlas Data Federation padroniza para este modo.

  • queryPlannerExtended - fornece informações detalhadas sobre o plano de query, incluindo informações sobre os objetos de armazenamento de objetos, como os nomes e tamanhos dos objetos de armazenamento de objetos que serão consultados.

  • executionStats - fornece estatísticas de execução e desempenho da query.

O Atlas Data Federation não suporta o modo allPlansExecution .

Exemplo

O exemplo seguinte mostra como utilizar o comando explain para obter informações sobre o comando agregado , incluindo informações detalhadas sobre o plano de query.

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

O exemplo seguinte mostra como anexar um método ao método explain , como o método find() , para obter estatísticas de execução da query na query.

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

Ao executar o explain, o Atlas Data Federation retorna os seguintes campos adicionais para outras partições:

Nome do campo de saída
Descrição

stats

documento que descreve o número e o tamanho total das partições que o Atlas Data Federation pode abrir para a query.

stats.size

Tamanho total das partições que o Atlas Data Federation pode abrir para a query.

stats.numberOfPartitions

Número de partições que o Atlas Data Federation pode abrir para a query.

truncated

Booleano que indica se a saída explain é truncada. O tamanho total do documento de saída explain é limitado a 16 MiB.

plan

documento que contém o plano de execução da query para a query. O documento contém nós de plano de execução aninhados, cada um dos quais é um documento que descreve o nó do plano. Os documentos de nó do plano aninhados contêm uma descrição interna da execução da query do Atlas Data Federation e incluem vários tipos de nó que estão sujeitos a alterações. Entre em contato com o suporte do MongoDB se precisar de mais ajuda para entender o plano de query.

No modo queryPlanner , os resultados retornados pelo explain fornecem informações detalhadas sobre as partições na instância do reconhecimento de data center federado.

Exemplo de saída
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}

O comando explain retorna os seguintes campos adicionais para partições do Atlas:

Saída
Descrição

database

reconhecimento de data center que o Atlas Data Federation query.

collection

Coleção que o Atlas Data Federation consultou.

pipeline

Aggregation pipeline que o Atlas Data Federation executou.

O comando explain retorna o seguinte campo adicional para partições de Online Archive:

Nome do campo de saída
Descrição

optimizationPlan

Detalhes sobre otimizações de arquivos online. As queries provavelmente serão otimizadas quando contiverem campos que correspondam às chaves de partição configuradas para um Online Archive.

No modo queryPlannerExtended , os resultados retornados por explain fornecem informações de planejamento de query estendidas para tipos de partição.

Exemplo de saída
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}

O comando explain retorna todas as informações de queryPlanner e os seguintes campos adicionais para partições de Online Archive:

Nome do campo de saída
Descrição

scannedDataSetPartitionsCount

Número de partições verificadas para concluir a query.

percentOfTotalPartitions

Porcentagem de partições verificadas em relação ao número total de partições.

No modo executionStats , os resultados retornados por explain fornecem informações sobre estatísticas de execução da query e desempenho apenas para partições do Atlas . Eles são obtidos executando um comando executionStats explain na coleção Atlas subjacente da partição do Atlas . Para partições que não sejam do Atlas, explain retorna as informações queryPlanner . O campo partitions nos resultados inclui um campo explainResults adicional, que é um documento que pode conter os seguintes campos:

Nome do campo de saída
Descrição

executionStats

Fornece informações sobre a execução do plano de query vencedor do Atlas cluster, incluindo o número de documentos e chaves examinados.

queryPlanner

Contém informações sobre a seleção do plano de query do Atlas cluster, incluindo a seleção do índice.

stages

Inclui detalhamento dos estágios e estatísticas do pipeline por estágio.

Observação

Para saber mais sobre esses campos, consulte executionStats.

Exemplo de saída
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 o comando getLog , o Atlas Data Federation retorna uma resposta bem-sucedida, mas não inclui dados de registro.

Para o comando getMore , o Atlas Data Federation retorna lotes subsequentes de documentos apontados por um cursor, quando usado em conjunto com comandos que retornam um cursor, por exemplo encontrar e agregar.

Para o comando hostInfo , o Atlas Data Federation retorna somente o seguinte subconjunto de campos da resposta padrão do MongoDB :

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

Para o comando ping , o Atlas Data Federation testa se um servidor está respondendo aos comandos.

Para o comando whatsmyuri , o Atlas Data Federation retorna o endereço IP do cliente .

Voltar

Administração