db.serverStatus()
Nesta página
db.serverStatus()
Retorna umdocumento que fornece uma visão geral do estado do processo do banco de dados de dados.
Este comando fornece um wrapper em torno do comando do banco de dados
serverStatus
.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em clusters M0, M2 e M5 . Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Comportamento
Por padrão, db.serverStatus()
exclui em sua saída:
algum conteúdo no documento repl .
Documento mirroredReads.
Para incluir campos que são excluídos por padrão, especifique o campo de nível superior e defina-o para 1
no comando. Para excluir campos incluídos por padrão, especifique o campo e defina como 0. Você pode especificar campos incorporados ou de nível superior.
Por exemplo, a seguinte operação suprime as informações repl
, metrics
e locks
na saída.
db.serverStatus( { repl: 0, metrics: 0, locks: 0 } )
O exemplo a seguir inclui todas as informações de resposta na saída:
db.serverStatus( { repl: 1 } )
Inicialização
As estatísticas relatadas por db.serverStatus()
são redefinidas quando o servidor mongod
é reiniciado. O comando db.serverStatus()
não relata algumas estatísticas até que elas tenham sido inicializadas por eventos do servidor.
Por exemplo, após reiniciar o servidor mongod
, db.serverStatus()
não retornará nenhum valor de findAndModify
.
db.serverStatus().metrics.commands.findAndModify // No results returned
Depois que você executar uma query de atualização, as chamadas subsequentes para db.serverStatus()
exibirão as métricas esperadas.
{ "arrayFilters" : NumberLong(0), "failed" : NumberLong(0), "pipeline" : NumberLong(0), "total" : NumberLong(1) }
Observação
O método db.serverStatus()
retorna um erro se for feita uma consulta de um objeto específico antes que os contadores tenham começado a incrementar.
Se ainda não houve nenhuma atualização do documento:
db.serverStatus().metrics.commands.update.pipeline
Retorna:
TypeError: db.serverStatus(...).metrics.commands.update is undefined : @(shell):1:1
Incluir mirroredReads
Por padrão, as informações de mirroredReads
não são incluídas na saída. Para retornar informações de mirroredReads
, é necessário especificar explicitamente a inclusão:
db.serverStatus( { mirroredReads: 1 } )
Incluir latchAnalysis
Por padrão, as informações do latchAnalysis
(disponíveis a partir da versão 4.4) não estão incluídas na saída. Para retornar informações do latchAnalysis
, você deve especificar explicitamente a inclusão:
db.serverStatus( { latchAnalysis: 1 } )
Saída
Consulte serverStatus Output para obter a documentação completa da saída desta função.