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 de 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. Ela exibe o nome do banco de dados e o fragmento primário de cada banco de dados.

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

A seção Coleção fragmentada fornece informações sobre os detalhes de fragmentação de coleções fragmentadas. Para cada coleção fragmentada, a seção exibe a chave de fragmento, o número de partes por fragmento(s), a distribuição de partes entre fragmentos [1] e as informações da tag, se houver, para as faixas das chaves de fragmento.

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

Em versões do MongoDB anteriores à 6.2, esse campo é incluído na collection config.version , mas no mongosh 2.0.0 e posterior, o campo não é retornado na saída do sh.status() . A partir do MongoDB 6.2, esse campo é removido e não é retornado em nenhuma versão mongosh ou outro aplicativo cliente. Em vez disso, para obter informações sobre a versão, consulte a feature compatibility version (fcv).

sh.status.sharding-version.currentVersion

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

Em versões do MongoDB anteriores à 6.2, esse campo é incluído na collection config.version , mas no mongosh 2.0.0 e posterior, o campo não é retornado na saída do sh.status() . A partir do MongoDB 6.2, esse campo é removido e não é retornado em nenhuma versão mongosh ou outro aplicativo cliente. Em vez disso, para obter informações sobre a versão, consulte a feature compatibility version (fcv).

sh.status.sharding-version.clusterId

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

sh.status.active-mongoses

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

Se verbose for true, sh.status.active-mongoses retornará um documento para cada instância mongos ativa, contendo os seguintes campos:

Campo
Tipo de Dados
Descrição
_id
String
O nome do host e a porta onde o mongos está sendo executado. O _id está formatado como <hostname>:<port>.
advisoryHostFQDNs
Array de strings
Array dos FQDNs (Fully Qualified Domain Names, Nomes de domínio totalmente qualificados) do mongos.
created
Data

Quando o mongos foi iniciado.

Novidades na versão 5.2.

mongoVersion
String
Versão do MongoDB que o mongos está executando.
ping
Data
As instâncias mongos enviam pings para o servidor de configuração a cada 30 segundos. Este campo indica a hora do último ping.
up
Número longo
Número de segundos em que mongos esteve ativo desde o último ping.
waiting
Boolean
Esse campo é sempre true e só é incluído para fins de compatibilidade com versões 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 se a divisão automática está habilitada no momento.

Observação

A partir do MongoDB 6.0.3, a divisão automática de partes não é executada. Isso se deve a melhorias na política de balanceamento. Os comandos de divisão automática ainda existem, mas não executam uma operação.

Em versões anteriores ao MongoDB 6.1:

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

O state exibe:

  • 0 se o shard não reconhecer shards.

  • 1 se o shard reconhecer shards.

Observação

A partir do MongoDB 6.0.3, a divisão automática de partes não é executada. Isso se deve a melhorias na política de balanceamento. Os comandos de divisão automática ainda existem, mas não executam uma operação.

Em versões anteriores ao MongoDB 6.1:

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 balanceador 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 balanceador que não obtiveram sucesso nas últimas cinco execuções. O balanceador 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 houver migrações recentes, migration-results-for-the-last-24-hours exibirá No recent migrations.

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

sh.status.databases._id

O _id exibe o nome do banco de dados.

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

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

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.

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 partes [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 tags associadas a um intervalo de valores da chave de fragmento.

[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