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

sh.status()

Nesta página

  • Definição
  • Exemplos de saída
  • Campos de Saída
sh.status()

Ao executar em uma instância do mongos , imprime um relatório formatado da configuração de fragmentação e as informações sobre os blocos existentes em um cluster fragmentado. O comportamento padrão suprime as informações detalhadas do bloco se o número total de blocos for maior ou igual a 20.

O método sh.status() tem o seguinte parâmetro:

Parâmetro
Tipo
Descrição
verbose
booleano

Opcional. Determina o nível de verbosidade.

Se for true, o método exibe:

  • Detalhes completos da distribuição de chunks em shards, mesmo se você tiver 20 ou mais chunks, bem como o número de chunks em cada shard.

  • Detalhes das instâncias ativas de mongos.

Se for false, o método exibe:

  • Detalhes completos da distribuição de chunk em shards somente se você tiver menos de 20 chunks. Se você tiver 20 ou mais chunks, o método retornará uma mensagem de too many chunks to print ..., mostrando apenas o número de chunks em cada shard.

  • Somente a versão e o número de instâncias ativas do mongos.

O valor detalhado padrão é false.

Dica

Veja também:

A seção Versão de fragmentação exibe informações sobre o banco de dados de configuração:

--- Sharding Status ---
sharding version: {
"_id" : <num>,
"minCompatibleVersion" : <num>,
"currentVersion" : <num>,
"clusterId" : <ObjectId>
}

A seção Fragmentos lista informações sobre o(s) fragmento(s). Para cada fragmento, a seção exibe o nome, o host e as tags associadas, se houver.

shards:
{ "_id" : <shard name1>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> }
{ "_id" : <shard name2>, "host" : <string>, "tags" : [ <string> ... ], "state" : <num> }
...

A seção Instâncias de mongos ativas exibe, por padrão, informações sobre a versão e a contagem de instâncias do mongos que estiveram ativas nos últimos 60 segundos:

active mongoses:
<version> : <num>

Se o método for executado com o parâmetro verbose para verdadeiro, a seção Instâncias mongos ativas exibirá informações adicionais:

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

A Autosplit exibe informações sobre se autosplit está habilitada:

autosplit:
Currently enabled: <yes|no>

A seção balanceador lista informações sobre o estado do balanceador. Isso fornece informações sobre a operação atual do balanceador e pode ser útil ao solucionar problemas de um cluster fragmentado desequilibrado.

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

A seção Bancos de dados lista informações sobre o(s) banco(s) de dados. Para cada banco de dados, a seção exibe o nome, se o banco de dados tem a fragmentação ativada e o primary shard do banco de dados.

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

A seção Collection fragmentada fornece informações sobre os detalhes de fragmentação de collections fragmentadas. Para cada collection fragmentada, a seção exibe a chave de shard, o número de chunks por shard(s), a distribuição dos chunks entre os shards [1] e as informações da marcação, se houver, para as faixas das chaves de shard.

<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> }
...
sh.status.sharding-version._id

O _id é um identificador dos detalhes da versão.

sh.status.sharding-version.minCompatibleVersion

O minCompatibleVersion é a versão mínima compatível do servidor de configuração.

sh.status.sharding-version.currentVersion

O currentVersion é a versão atual do servidor de configuração.

sh.status.sharding-version.clusterId

O clusterId é a identificação do cluster fragmentado.

Novo na versão 3.2.

sh.status.active-mongoses

Se verbose for false, sh.status.active-mongoses listará a versão e a contagem das instâncias mongos ativas. As instâncias mongos ativas são instâncias mongos que receberam ping nos últimos 60 segundos.

Se verbose for true, retorna para cada instância mongos ativa:

  • O nome do host e a porta.

  • Uma array dos nomes de domínio totalmente qualificados da instância (FQDNs).

  • Sua versão MongoDB.

  • A data e hora do ping mais recente.

  • É o tempo de atividade desde o último ping.

  • Seu status de espera.

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

sh.status.autosplit indica se a divisão automática está habilitada no momento.

Observação

Começando no MongoDB 4.2:

Os métodos { mongo sh.enableBalancing(namespace) e sh.disableBalancing(namespace) não afetam a divisão automática.

sh.status.shards._id

O _id exibe o nome do fragmento.

sh.status.shards.host

O host exibe a localização do host do fragmento.

sh.status.shards.tags

O tags exibe todas as tags do fragmento. O campo só será exibido se o fragmento tiver tags.

sh.status.shards.state

Novidade na versão 3.4.

O state exibe:

  • 0 se o shard não reconhecer shards.

  • 1 se o shard reconhecer shards.

Observação

Começando no MongoDB 4.2:

Os métodos { mongo sh.enableBalancing(namespace) e sh.disableBalancing(namespace) não afetam a divisão automática.

sh.status.balancer.currently-enabled

currently-enabled indica se o balancer está atualmente habilitado no cluster fragmentado.

sh.status.balancer.currently-running

currently-running indica se o balanceador está em execução no momento e, portanto, está balanceando o cluster.

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

O collections-with-active-migrations lista os nomes de quaisquer coleções com migrações ativas e especifica quando a migração começou. Se não houver migrações ativas, esse campo não aparecerá na saída sh.status().

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

failed-balancer-rounds-in-last-5-attempts indica a quantidade de tentativas de balanceamento do balancer que não obtiveram sucesso nas últimas cinco execuções. O balancer não será executado se ocorrer uma falha na migração de um bloco.

sh.status.balancer.last-reported-error

last-reported-error lista a mensagem de erro mais recente do balanceador. Se não houver erros, esse campo não aparecerá na saída sh.status().

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

time-of-reported-error fornece a data e a hora do erro relatado mais recentemente.

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

migration-results-for-the-last-24-hours exibe o número de migrações nas últimas 24 horas e as mensagens de erro de migrações com falha. Se não houve migrações recentes, migration-results-for-the-last-24-hours exibe No recent migrations.

migration-results-for-the-last-24-hours inclui todas migrações, inclusive aquelas não iniciadas pelo balancer.

sh.status.databases._id

O _id exibe o nome do banco de dados.

sh.status.databases.partitioned

O partitioned mostra se o banco de dados tem a fragmentação habilitada. Se true, o banco de dados terá a fragmentação ativada.

sh.status.databases.primary

O primary exibe o fragmento primário do banco de dados.

sh.status.databases.version

O version exibe as informações da versão do banco de dados:

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

onde:

  • uuid é o identificador do banco de dados.

  • lastMod é a versão do banco de dados.

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

O shard-key exibe o documento de especificação da chave de shard.

sh.status.databases.<collection>.unique

O unique mostra se o MongoDB força a exclusividade nos valores da chave de fragmento (ou seja, se o índice da chave de fragmento subjacente é exclusivo).

Novo na versão 3.2.

sh.status.databases.<collection>.balancing

Exibe se o balanceador pode equilibrar a coleta. Se o balanceador estiver habilitado e esse status retornar true, o balanceador incluirá essa coleção nas operações de balanceamento. Se o status retornar false, isso indica que o balanceador não está balanceando dados nesta coleção.

Novo na versão 3.2.

sh.status.databases.<collection>.chunks

O chunks lista todos os fragmentos e o número de partes que existem em cada fragmento.

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

O chunk-details lista os detalhes dos chunks [1]:

  • O faixa de valores da chave de shard que definem o chunk,

  • O shard onde o chunk reside e

  • O último carimbo de data/hora modificado para o chunk.

sh.status.databases.<collection>.tag

O tag lista os detalhes das marcações associadas a um intervalo de valores de chave de shard.

[1](1, 2) A seção de coleção fragmentada, por padrão, exibe as informações da parte se o número total de partes for menor que 20. Para exibir as informações quando você tiver 20 ou mais partes, chame os métodos sh.status() com o parâmetro verbose definido como true, ou seja, sh.status(true).

Voltar

sh.startBalancer

Próximo

sh.stopBalancer