Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

sh.status()

Nesta página

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

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

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

Parâmetro
Tipo
Descrição
verbose
boleano

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 de 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 Shards lista informações sobre a(s) shard(s). Para cada shard, 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 mongos ativas exibe, por padrão, informações sobre a versão e a contagem de instâncias de mongos que ficaram 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 Balancer lista informações sobre o estado do balancer. Isso fornece informações sobre a operação atual do balancer 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 primary shard de cada banco de dados.

databases:
{ "_id" : <dbname1>, "primary" : <string>, "version": <document> }
{ "_id" : <dbname2>, "primary" : <string>, "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 para os 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 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, sh.status.active-mongoses retornará um documento para cada instância ativa mongos 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
A partir do MongoDB 3.4, esse campo é sempre true e está presente apenas 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 chunks não é executada. Isso se deve às melhorias no balanceamento das políticas. 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 shard.

sh.status.shards.host

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

sh.status.shards.tags

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

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 chunks não é executada. Isso se deve às melhorias no balanceamento das políticas. 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 balancer está atualmente habilitado no cluster fragmentado.

sh.status.balancer.currently-running

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

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

collections-with-active-migrations lista os nomes de quaisquer collections 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 balancer. 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.primary

O primary exibe o primary shard do banco de dados.

sh.status.databases.version

O version exibe as informações de 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 impõe exclusividade nos valores de chave de shard (ou seja, se o índice da chave de shard subjacente é exclusivo).

sh.status.databases.<collection>.balancing

O balancing exibe se o equilíbrio está habilitado (true) ou desabilitado (false) para a coleção.

sh.status.databases.<collection>.chunks

O chunks lista todos os shards e o número de chunks que existem em cada shard.

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 collection fragmentada, por padrão, exibe as informações do chunk se o número total de chunks for menor que 20. Para exibir as informações quando você tiver 20 ou mais blocos, chame os métodos sh.status() com o parâmetro verbose definido como true, ou seja, sh.status(true).
← sh.startBalancer()