Página inicial do Docs → Iniciar e gerenciar o MongoDB → Ferramentas do banco de dados MongoDB
mongostat
Esta documentação é para a versão 100.9.0
de mongostat
.
Sinopse
mongostat
é uma ferramenta de linha de comando que fornece uma rápida visão geral do status de uma instância do mongod
ou mongos
atualmente em execução. Utilize o mongostat
para ajudar a identificar gargalos do sistema.
mongostat
é funcionalmente semelhante ao utilitário do sistema de arquivos UNIX/Linux vmstat
, mas fornece dados sobre mongod
e mongos
instâncias.
Execute mongostat
na linha de comando do sistema, não no shell mongo
.
Sintaxe
mongostat
sintaxe:
mongostat <options> <connection-string> <polling interval in seconds>
Opções
--verbose, -v
Aumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de registro. Aumente a verbosidade com o formulário
-v
incluindo a opção várias vezes (por exemplo,-vvvvv
.)
--config=<filename>
Novidades na versão 100.3.0.
Especifica o caminho completo para um arquivo de configuração YAML contendo valores sensíveis para as seguintes opções para
mongostat
:Esta é a maneira recomendada de especificar uma senha para
mongostat
, além de especificá-la por meio de um prompt de senha.O arquivo de configuração recebe o seguinte formulário:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Especificar uma senha para o campo
password:
e fornecer uma cadeia de conexão no campouri:
que contém uma senha conflitante resultará em um erro.Certifique-se de proteger este arquivo com permissões de sistema de arquivos apropriadas.
Observação
Se você especificar um arquivo de configuração com
--config
e também utilizar a opção--password
,--uri
ou--sslPEMKeyPassword
paramongostat
, cada opção de linha de comando substituirá a opção correspondente no arquivo de configuração.
--uri=<connectionString>
Especifica a connection string resolvível da implantação do MongoDB, entre aspas:
--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]" A partir da versão
100.0
demongostat
, a connection string pode ser fornecida como um parâmetro posicional, sem usar a opção--uri
:mongostat mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] Como parâmetro posicional, a connection string pode ser especificada em qualquer ponto da linha de comando, desde que comece com
mongodb://
oumongodb+srv://
. Por exemplo:mongostat --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl Somente uma connection string pode ser fornecida. Tentar incluir mais de uma, seja usando a opção
--uri
ou como um argumento posicional, resultará em um erro.Para obter informações sobre os componentes da cadeia de conexão, consulte a documentação Formato de URI da cadeia de conexão .
Observação
Alguns componentes no
connection string
podem alternativamente ser especificados usando suas próprias opções explícitas de linha de comando, como--username
e--password
. Fornecer uma connection string e, ao mesmo tempo, usar uma opção explícita e especificar informações conflitantes resultará em um erro.Observação
Se estiver usando
mongostat
no Ubuntu 18.04, você pode enfrentar uma mensagem de errocannot unmarshal DNS
ao usar connection strings SRV (no formatomongodb+srv://
) com a opção--uri
. Nesse caso, use uma das seguintes opções:a opção
--uri
com uma connection string não SRV (no formatomongodb://
)a opção
--host
para especificar o host para conectar diretamente
Aviso
Em alguns sistemas, uma senha fornecida em uma connection string com a opção
--uri
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Em vez disso, considere:omitindo a senha na cadeia de conexão para receber um prompt de senha interativo , ou
utilizando a opção
--config
para especificar um arquivo de configuração contendo a senha.
--host=<hostname><:port>, -h=<hostname><:port>
Padrão: localhost:27017
Especifica o nome de host resolvível do sistema MongoDB. Por padrão,
mongostat
tenta se conectar a uma instância do MongoDB em execução no host local na porta número27017
.Para conectar-se a um conjunto de réplicas, você pode especificar o membro ou os membros do conjunto para relatar, como demonstrado a seguir (consulte também o sinalizador
--discover
):--host=<hostname1><:port>,<hostname2><:port>,<...> Se você usar IPv6 e o formato
<address>:<port>
, deverá incluir a parte de uma combinação de endereço e porta entre colchetes (por exemplo,[<address>]
).Alternativamente, você também pode especificar o nome do host diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--host
e especificar informações conflitantes resultará em um erro.
--port=<port>
Padrão: 27017
Especifica a porta TCP na qual a instância do MongoDB escuta conexões de cliente.
Alternativamente, você também pode especificar a porta diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--port
e especificar informações conflitantes resultará em um erro.
--ssl
Permite a conexão com um
mongod
oumongos
que tenha suporte a TLS/SSL habilitado.Como alternativa, você também pode configurar o suporte de TLS/SSL diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--ssl
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslCAFile=<filename>
Especifica o arquivo
.pem
que contém a sequência de certificados raiz da autoridade de certificação. Especifique o nome do arquivo.pem
usando caminhos relativos ou absolutos.Como alternativa, você também pode especificar o arquivo
.pem
diretamente noURI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--sslCAFile
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslPEMKeyFile=<filename>
Especifica o arquivo
.pem
que contém o certificado e a chave TLS/SSL. Especifique o nome do arquivo.pem
usando caminhos relativos ou absolutos.Esta opção é exigida ao utilizar a opção
--ssl
para conectar a ummongod
oumongos
que tenhaCAFile
habilitado semallowConnectionsWithoutCertificates
.Como alternativa, você também pode especificar o arquivo
.pem
diretamente noURI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--sslPEMKeyFile
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslPEMKeyPassword=<value>
Especifica a senha para descriptografar o arquivo da chave de certificado (ou seja,
--sslPEMKeyFile
). Use a opção--sslPEMKeyPassword
somente se o arquivo de chave de certificado estiver criptografado. Em todos os casos, omongostat
eliminará a senha de todos os registros e relatórios.Se a chave privada no arquivo PEM for codificada e você não especificar a opção
--sslPEMKeyPassword
, omongostat
solicitará uma senha. Consulte Senha do Certificado TLS/SSL.Como alternativa, você também pode especificar a senha diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--sslPEMKeyPassword
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--sslPEMKeyPassword
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Considere utilizar a opção--config
para especificar um arquivo de configuração contendo a senha.
--sslCRLFile=<filename>
Especifica o arquivo
.pem
que contém a lista de certificados revogados. Especifique o nome do arquivo.pem
usando caminhos relativos ou absolutos.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslAllowInvalidCertificates
Ignora as verificações de validação de certificados de servidor e permite o uso de certificados inválidos. Ao usar a configuração
allowInvalidCertificates
, o MongoDB registra como aviso o uso do certificado inválido.Aviso
Embora disponível, evite utilizar a opção
--sslAllowInvalidCertificates
se possível. Se o uso do--sslAllowInvalidCertificates
for necessário, use a opção somente em sistemas em que a intrusão não seja possível.Conectar-se a uma instância
mongod
oumongos
sem validar os certificados do servidor é um risco potencial à segurança. Se você só precisar desabilitar a validação do nome de host nos certificados TLS/SSL, consulte--sslAllowInvalidHostnames
.Como alternativa, você também pode desativar a validação do certificado diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--sslAllowInvalidCertificates
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--sslAllowInvalidHostnames
Desabilita a validação dos nomes de host em certificados TLS/SSL. Permite que o
mongostat
se conecte às instâncias do MongoDB mesmo que o nome do host em seus certificados não corresponda ao nome de host especificado.Como alternativa, você também pode desativar a validação do nome de host diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--sslAllowInvalidHostnames
e especificar informações conflitantes resultará em um erro.Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.
--username=<username>, -u=<username>
Especifica um nome de usuário com o qual autenticar em um banco de dados MongoDB que usa autenticação. Utilize em conjunto com as opções
--password
e--authenticationDatabase
.Como alternativa, você também pode especificar o nome de usuário diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--username
e especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
, você pode especificar seu ID de chave de acesso do AWS em:esse campo,
o
connection string
, oua variável de ambiente
AWS_ACCESS_KEY_ID
.
Consulte Conectar-se a um MongoDB Atlas cluster usando AWS IAM Credentials para obter um exemplo de cada um.
--password=<password>, -p=<password>
Especifica uma senha com a qual autenticar em um banco de dados MongoDB que usa autenticação. Utilize em conjunto com as opções
--username
e--authenticationDatabase
.Para solicitar a senha ao usuário, passe a opção
--username
sem--password
ou especifique uma string vazia como o valor--password
, como em--password=""
.Como alternativa, você também pode especificar a senha diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--password
e especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
, você pode especificar sua chave de acesso secreta da AWS em:esse campo,
o
connection string
, oua variável de ambiente
AWS_SECRET_ACCESS_KEY
.
Consulte Conectar-se a um MongoDB Atlas cluster usando AWS IAM Credentials para obter um exemplo de cada um.
Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--password
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Em vez disso, considere:omitir a opção
--password
para receber uma solicitação de senha interativa ouutilizando a opção
--config
para especificar um arquivo de configuração contendo a senha.
--awsSessionToken=<AWS Session Token>
Se estiver se conectando a um cluster MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
e usando tokens de sessão além do ID de chave de acesso da AWS e da chave de acesso secreta, você poderá especificar o token de sessão da AWS em:esse campo,
o parâmetro
AWS_SESSION_TOKEN
authMechanismProperties
para oconnection string
, oua variável de ambiente
AWS_SESSION_TOKEN
.
Consulte Conectar-se a um MongoDB Atlas cluster usando AWS IAM Credentials para obter um exemplo de cada um.
Válido somente ao utilizar o
MONGODB-AWS
authentication mechanism
.
--authenticationDatabase=<dbname>
Especifica o banco de dados de autenticação onde o
--username
especificado foi criado. Consulte Banco de Dados de Autenticação.--authenticationDatabase
é necessário para as instânciasmongod
emongos
que usam Autenticação.Se estiver usando o GSSAPI (Kerberos), PLAIN (LDAP SASL) ou
MONGODB-AWS
authentication mechanisms
, você deverá definir--authenticationDatabase
como$external
.Como alternativa, você também pode especificar o banco de dados de autenticação diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--authenticationDatabase
e especificar informações conflitantes resultará em um erro.
--authenticationMechanism=<name>
Padrão: SCRAM-SHA-1
Especifica o mecanismo de autenticação que a instância do
mongostat
utiliza para autenticar nomongod
oumongos
.Alterado na versão 100.1.0: a partir da versão
100.1.0
,mongostat
adiciona suporte ao mecanismo de autenticaçãoMONGODB-AWS
ao se conectar a um cluster MongoDB Atlas .ValorDescriçãoRFC 5802 Mecanismo de autenticação de resposta de desafio salgado padrão usando a1 função de hash SHA- .RFC 7677 Mecanismo de autenticação de resposta de desafio salgado padrão usando a256 função de hash SHA- .
Exige featureCompatibilityVersion definido para
4.0
.Autenticação de certificado TLS/SSL do MongoDB.MONGODB-AWS
Autenticação externa usando credenciais AWS IAM para uso na conexão com um cluster do MongoDB Atlas . Consulte Conectar-se a um Cluster do MongoDB Atlas usando Credenciais AWS IAM.
Novidades na versão 100.1.0.
GSSAPI (Kerberos)Autenticação externa usando Kerberos. Esse mecanismo está disponível apenas no MongoDB Enterprise.PLAIN (LDAP SASL)Autenticação externa usando LDAP. Você também pode utilizar oPLAIN
para autenticar usuários do banco de dados.PLAIN
transmite senhas em texto simples. Esse mecanismo está disponível somente no MongoDB Enterprise.Como alternativa, você também pode especificar o mecanismo de autenticação diretamente no
URI connection string
. Fornecer uma cadeia de conexão e, ao mesmo tempo, usar--authenticationMechanism
e especificar informações conflitantes resultará em um erro.
--gssapiServiceName=<string>
Especifique o nome do serviço utilizando GSSAPI/Kerberos. Obrigatório apenas se o serviço não usar o nome padrão
mongodb
.Esta opção está disponível apenas no MongoDB Enterprise.
--gssapiHostName=<string>
Especifique o nome de host de um serviço utilizando GSSAPI/Kerberos. Só é necessário se o nome do host de uma máquina não corresponder ao nome do host resolvido pelo DNS.
Esta opção está disponível apenas no MongoDB Enterprise.
--humanReadable=<boolean>
Padrão: true
Ao
true
,mongostat
formata datas e valores de quantidade para facilitar a leitura, como na seguinte saída de exemplo:insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time 991 *0 *0 *0 0 2|0 3.4% 4.5% 0 2.90G 297M 0|0 0|0 12.9m 84.2k 2 Oct 6 09:45:37.478 989 *0 *0 *0 0 2|0 3.6% 4.7% 0 2.91G 310M 0|0 0|0 12.9m 84.1k 2 Oct 6 09:45:38.476 988 *0 *0 *0 0 1|0 3.7% 4.8% 0 2.92G 323M 0|0 0|0 12.8m 83.8k 2 Oct 6 09:45:39.481 976 *0 *0 *0 0 2|0 3.9% 5.0% 0 2.94G 335M 0|0 0|0 12.7m 83.7k 2 Oct 6 09:45:40.476 Quando
false
,mongostat
retorna os dados brutos, como na seguinte saída de exemplo:insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time 992 *0 *0 *0 0 2|0 1.3 2.4 0 2941255680 149946368 0|0 0|0 12913607 84271 2 2016-10-06T09:45:25-04:00 989 *0 *0 *0 0 1|0 1.5 2.6 0 2974810112 163577856 0|0 0|0 12873225 84087 2 2016-10-06T09:45:26-04:00 996 *0 *0 *0 0 1|0 1.6 2.8 0 2972712960 177209344 0|0 0|0 12955423 84345 2 2016-10-06T09:45:27-04:00 987 *0 *0 *0 0 1|0 1.8 2.9 0 2989490176 190840832 0|0 0|0 12861852 84008 2 2016-10-06T09:45:28-04:00
-o=<field list>
Quando os campos de saída são especificados com
-o
, somente os campos especificados são incluídos na saídamongostat
.Use a notação de ponto para especificar
serverStatus fields
, como emmetrics.document.inserted
.Um nome de campo personalizado pode incluir espaços. Se você incluir um espaço, não coloque aspas adicionais em torno do nome do campo. Para especificar um nome personalizado para um campo, utilize
<field>=<customName>
, como em:mongostat -o='host=H,time=T,version=MongoDB Version' -o
suporta os seguintes métodos para modificar as informações retornadas para um determinado campo serverStatus:.rate()
Use
.rate()
para ver a taxa por segundo na qual um campo ServerStatus está mudando demongostat
chamada para chamada.Visualize a taxa de mudança de um campo com
.rate()
ilustra como usarmongostat
com-o
e o método.rate()
.
.diff()
Use
.diff()
para visualizar o quanto um campo serverStatus mudou desde a chamadamongostat
anterior. O intervalo entre as chamadas é especificado por<sleeptime>
.Visualizar alterações de campo com
.diff()
ilustra como usarmongostat
com-o
e o método.diff()
.
mongostat
suporta a especificação de-o
ou-O
: você não pode incluir ambas as opções.Consulte Especificar
mongostat
Campos de Saída para um exemplo de-o
.
-O=<field list>
Quando especificado,
mongostat
inclui os camposserverStatus
especificados após a saídamongostat
padrão.Use a notação de ponto para especificar
serverStatus fields
, como emmetrics.document.inserted
.Um nome de campo personalizado pode incluir espaços. Se você incluir um espaço, não coloque aspas adicionais em torno do nome do campo. Para especificar um nome personalizado para um campo, utilize
<field>=<customName>
, como em:mongostat -O=host=H,time=T mongostat
suporta a especificação de-O
ou-o
: você não pode incluir ambas as opções.Consulte Adicionar campos à
mongostat
Output para ver um exemplo de-O
.
--rowcount=<number>, -n=<number>
Controla o número de linhas a serem geradas. Use em conjunto com o argumento
sleeptime
para controlar a duração de uma operaçãomongostat
.A menos que
--rowcount
seja especificado,mongostat
retornará um número infinito de linhas (por exemplo, valor de0
.)
--discover
Descobre e emite relatórios sobre estatísticas de todos os membros de um definir ou cluster fragmentado. Quando conectado a qualquer membro de um conjunto de réplica,
--discover
todos os nãomembrosocultos do conjunto de réplica. Quando conectado a ummongos
,mongostat
retornará dados de todos os shards no cluster. Se um conjunto de réplicas fornecer um fragmento no cluster fragmentado,mongostat
informará sobre os membros não ocultos desse conjunto de réplicas.A opção
mongostat --host
não é exigida, mas potencialmente útil neste caso.Ao executar com
--discover
,mongostat
respeita--rowcount
.
--all
Configura
mongostat
para retornar todos os campos opcionais.
--json
Retorna a saída para
mongostat
no formato JSON .
--interactive
Exiba a saída
mongostat
em uma interface interativa sem rolagem, em vez da saída de rolagem padrão.--interactive
não está disponível com a opção--json
.Consulte: Visualizar estatísticas em uma interface interativa para ver um exemplo de
--interactive
.
<sleeptime>
Padrão: 1
O argumento final
mongostat
é o período de tempo, em segundos, quemongostat
aguarda entre as chamadas. Por padrão ,mongostat
retorna uma chamada a cada segundo.mongostat
retorna valores que refletem as operações em um período de 1 segundos. Para valores de<sleeptime>
maiores que 1,mongostat
calcula a média dos dados para refletir a média de operações por segundo.
Campos
mongostat
retorna valores que refletem as operações em um período de 1 segundos. Quando mongostat <sleeptime> tem um valor superior a 1, mongostat
média das estatísticas para refletir operações médias por segundo.
mongostat
produz os seguintes campos:
inserts
O número de objetos inseridos no banco de dados por segundo. Se seguido por um asterisco (por exemplo,
*
), o datum refere-se a uma operação replicada.
query
O número de operações de query por segundo.
update
O número de operações de atualização por segundo.
delete
O número de operações de exclusão por segundo.
getmore
O número de obter mais (ou seja, lote de cursor) operações por segundo.
command
O número de comandos por segundo. Em sistemas secundários ,
mongostat
apresenta dois valores separados por um caractere pipe (por exemplo,|
), na forma de comandoslocal|replicated
.
flushes
Para o Mecanismo de Armazenamento WiredTiger, o
flushes
refere-se ao número de pontos de verificação do WiredTiger acionados entre cada intervalo de pesquisa.
dirty
Somente para o WiredTiger Storage Engine. A porcentagem do cache do WiredTiger com bytes sujos, calculada por
wiredTiger.cache.tracked dirty bytes in the cache
/wiredTiger.cache.maximum bytes configured
.
used
Somente para o WiredTiger Storage Engine. A porcentagem do cache do WiredTiger que está em uso, calculada por
wiredTiger.cache.bytes currently in the cache
/wiredTiger.cache.maximum bytes configured
.
vsize
A quantidade de memória virtual em megabytes usada pelo processo no momento da última chamada
mongostat
.
res
A quantidade de memória residente em megabytes usada pelo processo no momento da última chamada
mongostat
.
locked
A porcentagem de tempo em um bloqueio de escrita global. Só aparece quando
mongostat
é executado em relação à pré-3.0 versões de instâncias MongoDB.
qr
A duração da fila de clientes esperando para ler dados da instância MongoDB.
qw
A duração da fila de clientes que aguardam para gravar dados da instância MongoDB.
ar
O número de clientes ativos realizando operações de leitura.
aw
O número de clientes ativos que executam operações de gravação.
netIn
A quantidade de tráfego de rede, em bytes, recebida pela instância MongoDB.
Isso inclui o tráfego da própria
mongostat
.
netOut
A quantidade de tráfego de rede, em bytes, enviada pela instância MongoDB.
Isso inclui o tráfego da própria
mongostat
.
conn
O número total de conexões abertas.
set
O nome, se aplicável, do conjunto de réplicas.
Informações adicionais
Para obter mais informações sobre o monitoramento do MongoDB, consulte Monitoramento do MongoDB.
Para obter mais informações sobre outros resultados de status MongoDB, consulte:
Para obter uma utilidade adicional que forneça métricas MongoDB, consulte mongotop
.