Esta documentação é para a versão 100.19.0 de mongostat.
Synopsis
mongostat é uma ferramenta de linha de comando que fornece uma rápida visão geral do status de uma instância domongodoumongosatualmente 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 mongo shell.
Sintaxe
mongostat sintaxe:
mongostat <options> <connection-string> <polling interval in seconds>
Opções
--verbose, -vAumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de registro. Aumente a verbosidade com o formulário
-vincluindo 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 que contém valores confidenciais para as opções de
mongostatseguintes:Esta é a maneira recomendada de especificar uma senha para
mongostat, além de especificá-la por meio de um prompt de senha. Você pode usar qualquer combinação dos argumentos no arquivo.O arquivo de configuração recebe o seguinte formulário:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Se você especificar a opção
passwordsem especificaruri, poderá definir os outros componentes da string de conexão usando as opções de linha de comandomongostat, como--usernamee--host.Certifique-se de proteger este arquivo com permissões de sistema de arquivos apropriadas.
Importante
Ao usar a opção
--config, tenha em mente as seguintes limitações e comportamentos:Se você fornecer o campo
passworde uma string de conexão no campouricom uma senha conflitante, amongorestoreemitirá um erro.Se você especificar um arquivo de configuração com
--confige também utilizar as opções de linha de comando--password,--uriou--sslPEMKeyPasswordmongostat, a opção de linha de comando substituirá a opção de arquivo de configuração correspondente.
--uri=<connectionString>Especifica a string de conexão 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.0mongostatde, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a--uriopção: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 string de conexão pode ser fornecida. A tentativa de incluir mais de uma, seja usando a opção
--uriou como um argumento posicional, resultará em um erro.Para obter informações sobre os componentes da string de conexão, consulte a documentação Formato de URI da string de conexão .
Observação
Como alternativa, alguns componentes da
connection stringpodem ser especificados usando suas próprias opções explícitas de linha de comando, como--usernamee--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
mongostatno Ubuntu,18.04 você pode enfrentar umacannot unmarshal DNSmensagem de erro ao usar connection strings SRV (nomongodb+srv://formato) com a opção. Nesse caso, use uma das seguintes--uriopções:a opção
--uricom uma string de conexão não SRV (nomongodb://formato)a opção
--hostpara especificar o host e conectar diretamente
Aviso
Em alguns sistemas, uma senha fornecida em uma string de conexão com a opção
--uripode ser visível para programas de status do sistema comopsque 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
--configpara especificar um arquivo de configuração que contém 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,
mongostattenta 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>]).Outra opção é especificar o nome do host diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--hoste 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 string de conexão e, ao mesmo tempo, usar--porte especificar informações conflitantes resultará em um erro.
--sslPermite a conexão com um
mongodou que tenha suporte a TLS/SSLmongoshabilitado.Alternativamente, você também pode configurar o suporte de TLS/SSL diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--ssle 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
.pemque contém a sequência de certificados raiz da autoridade de certificação. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.Alternativamente, você também pode especificar o
.pemarquivo diretamente no. Fornecer uma string de conexão e,URI connection stringao mesmo tempo,--sslCAFileusar 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
.pemque contém o certificado e a chave TLS/SSL. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.Esta opção é exigida ao utilizar a
--sslopção para conectar a ummongodou quemongostemCAFilehabilitadoallowConnectionsWithoutCertificatessem.Alternativamente, você também pode especificar o
.pemarquivo diretamente no. Fornecer uma string de conexão e,URI connection stringao mesmo tempo,--sslPEMKeyFileusar 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--sslPEMKeyPasswordsomente se o arquivo de chave de certificado estiver criptografado. Em todos os casos, omongostateliminará 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,
--sslPEMKeyPasswordomongostatsolicitará uma senha. Consulte Senha do Certificado TLS/SSL.Como alternativa, você também pode especificar a senha diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--sslPEMKeyPassworde 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
--sslPEMKeyPasswordpode ser visível para programas de status do sistema comopsque podem ser invocados por outros usuários. Considere utilizar a opção--configpara especificar um arquivo de configuração contendo a senha.
--sslCRLFile=<filename>Especifica o arquivo
.pemque contém a lista de certificados revogados. Especifique o nome do arquivo.pemusando 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.
--sslAllowInvalidCertificatesIgnora as verificações de validação de certificados de servidor e permite o uso de certificados inválidos. Ao usar a configuração, o MongoDB registra como aviso o uso do certificado
allowInvalidCertificatesinválido.Aviso
Embora disponível, evite utilizar a opção
--sslAllowInvalidCertificatesse possível. Se o uso do--sslAllowInvalidCertificatesfor 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
mongodou 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,mongos--sslAllowInvalidHostnamesconsulte.Como alternativa, você também pode desativar a validação do certificado diretamente no
URI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslAllowInvalidCertificatese 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.
--sslAllowInvalidHostnamesDesabilita a validação dos nomes de host em certificados TLS/SSL. Permite que o
mongostatse conecte às instâncias do MongoDB mesmo que o nome do host em seus certificados não corresponda ao nome de host especificado.Alternativamente, você também pode desabilitar a validação do nome de host diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--sslAllowInvalidHostnamese 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--authenticationDatabasee.Alternativamente, você também pode especificar o nome de usuário diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--usernamee especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster MongoDB Atlas usando
MONGODB-AWSauthentication mechanismo, você pode especificar seu ID de chave de acesso do AWS em:esse campo,
connection stringo, oua variável de ambiente
AWS_ACCESS_KEY_ID.
Consulte Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver 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--authenticationDatabasee.Para solicitar a senha ao usuário, passe a opção
--usernamesem--passwordou 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 connection string e, ao mesmo tempo, usar--passworde especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando
MONGODB-AWSauthentication mechanismo, você poderá especificar sua chave de acesso secreta da AWS em:esse campo,
connection stringo, oua variável de ambiente
AWS_SECRET_ACCESS_KEY.
Consulte Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver um exemplo de cada um.
Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--passwordpode ser visível para programas de status do sistema comopsque podem ser invocados por outros usuários. Em vez disso, considere:omitir a opção
--passwordpara receber uma solicitação de senha interativa ouutilizando a opção
--configpara especificar um arquivo de configuração que contém a senha.
--awsSessionToken=<AWS Session Token>Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanisme usando tokens de sessão além do ID da 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
AWS_SESSION_TOKENauthMechanismPropertiesparâmetro para o,connection stringoua variável de ambiente
AWS_SESSION_TOKEN.
Consulte Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver um exemplo de cada um.
Válido somente ao usar o
MONGODB-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica o banco de dados de autenticação onde o especificado
--usernamefoi criado. Consulte Banco de Dados de Autenticação.--authenticationDatabaseé necessário paramongodinstâncias e quemongosusam Autenticação em Sistemas Autogerenciados.Se você usar GSSAPI (Kerberos), PLAIN (LDAP SASL) ou
MONGODB-AWSauthentication mechanisms, você deverá definir--authenticationDatabasecomo$external.Alternativamente, você também pode especificar o banco de dados de autenticação diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--authenticationDatabasee especificar informações conflitantes resultará em um erro.
--authenticationMechanism=<name>Padrão: SCRAM-SHA-1
Especifica o mecanismo de autenticação que a
mongostatinstância do utiliza para autenticar nomongodmongosou.Alterado na versão 100.1.0:
A partir da versão
100.1.0, omongostatoferece suporte ao mecanismo de autenticaçãoMONGODB-AWSao se conectar a um cluster MongoDB Atlas.ValorDescriçãoRFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a1 função de hash SHA-.
RFC 7677 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a256 função de hash SHA-.
Exige featureCompatibilityVersion definido para
4.0.Autenticação de certificado TLS/SSL do MongoDB.
MONGODB-AWSAutenticaçã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 somente no MongoDB Enterprise.
PLAIN (LDAP SASL)
Autenticação externa usando LDAP. Você também pode utilizar o
PLAINpara autenticar usuários de banco de dados.PLAINtransmite senhas em texto simples. Esse mecanismo está disponível somente no MongoDB Enterprise.Alternativamente, você também pode especificar o mecanismo de autenticação diretamente no
URI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar--authenticationMechanisme 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
mongodbpadrão.Esta opção está disponível apenas no MongoDB Enterprise.
--gssapiHostName=<string>Especifique o nome de host de um serviço utilizando GSSAPI/Kerberos. Somente necessário se o nome de host de uma máquina não corresponder ao nome de host resolvido pelo DNS.
Esta opção está disponível apenas no MongoDB Enterprise.
--humanReadable=<boolean>Padrão: true
Quando
true,mongostatformata 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,mongostatretorna os dados brutos, como na seguinte saída de amostra: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
-oos campos demongostatsaída são especificados com, somente os campos especificados são incluídos na saída.Use a notação de ponto para especificar,
serverStatus fieldscomometrics.document.insertedem.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' -osuporta os seguintes métodos para modificar as informações retornadas para um determinado campo serverStatus:.rate()Use para ver a taxa por segundo na qual um campo ServerStatus está mudando
.rate()demongostatchamada para chamada.Visualize a taxa de mudança de um campo com
.rate()ilustra como utilizarmongostatcom-oe o.rate()método.
.diff()Use para visualizar o quanto um campo serverStatus mudou desde
.diff()amongostatchamada anterior. O intervalo entre as chamadas é especificado<sleeptime>por.Visualizar alterações de campo com
.diff()ilustra como utilizarmongostatcom-oe o.diff()método.
mongostatsuporta a especificação de-o-Oou: você não pode incluir ambas as opções.Consulte Especificar
mongostatCampos de Saída para um exemplo-ode.
-O=<field list>Quando especificado,
mongostatinclui osserverStatuscampos especificados após amongostatsaída padrão.Use a notação de ponto para especificar,
serverStatus fieldscomometrics.document.insertedem.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 mongostatsuporta a especificação de-O-oou: você não pode incluir ambas as opções.Consulte Adicionar campos à
mongostatOutput para ver um exemplo-Ode.
--rowcount=<number>, -n=<number>Controla o número de linhas a serem geradas. Use em conjunto com o argumento
sleeptimepara controlar a duração de uma operaçãomongostat.A menos que seja
--rowcountespecificado,mongostatretornará um número infinito de linhas (por exemplo, valor0de.)
--discoverDescobre 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, todos
--discoveros nãomembros ocultos do conjunto de réplica. Quando conectado amongosum,mongostato retornará dados de todos os shards no agrupamento. Se um conjunto de réplicas fornecer um fragmento no cluster fragmentado,mongostatinformará sobre os membros não ocultos desse conjunto de réplicas.A opção não é necessária, mas potencialmente útil nesse
mongostat --hostcaso.Ao executar
--discovercom,mongostat--rowcounto respeita.
--allConfigura
mongostatpara retornar todos os campos opcionais.
--jsonRetorna o resultado de
mongostatno formato JSON.
--interactiveExiba a saída
mongostatem uma interface interativa sem rolagem, em vez da saída de rolagem padrão.--interactivenão está disponível com a--jsonopção.--interactiveConsulte: Visualizar estatísticas em uma interface interativapara ver um exemplo de.
<sleeptime>Padrão: 1
O argumento
mongostatfinal é o período, em segundos, quemongostataguarda entre as chamadas. Por padrão,mongostatretorna uma chamada a cada segundo.mongostatretorna valores que refletem as operações em um período de 1 segundos. Para valores de<sleeptime>maiores que 1,mongostatcalcula 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:
insertsO 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.
queryO número de operações de query por segundo.
updateO número de operações de atualização por segundo.
deleteO número de operações de exclusão por segundo.
getmoreO número de obter mais (ou seja, lote de cursor) operações por segundo.
commandO número de comandos por segundo. Em sistemas secundários,
mongostatapresenta dois valores separados por um caractere pipe (por|exemplo,), na forma delocal|replicatedcomandos.
flushesPara o Mecanismo de Armazenamento WiredTiger, o
flushesrefere-se ao número de pontos de verificação do WiredTiger acionados entre cada intervalo de pesquisa.
dirtySomente para o WiredTiger Storage Engine. A porcentagem do cache do WiredTiger com bytes sujos, calculada por
wiredTiger.cache.tracked dirty bytes in the cachewiredTiger.cache.maximum bytes configured/.
usedSomente para o WiredTiger Storage Engine. A porcentagem do cache do WiredTiger que está em uso, calculada por
wiredTiger.cache.bytes currently in the cachewiredTiger.cache.maximum bytes configured/.
vsizeA quantidade de memória virtual em megabytes usada pelo processo no momento da última chamada
mongostat.
resA quantidade em megabytes de memória residente usada pelo processo no momento da última chamada
mongostat.
lockedA porcentagem de tempo em um bloqueio de gravação global. Só aparece quando
mongostaté executado em versões pré-3.0 das instâncias do MongoDB.
qrA duração da fila de clientes esperando para ler dados da instância MongoDB.
qwA duração da fila de clientes que aguardam para gravar dados da instância MongoDB.
arO número de clientes ativos realizando operações de leitura.
awO número de clientes ativos que executam operações de gravação.
netInA quantidade de tráfego de rede, em bytes, recebida pela instância MongoDB.
Isso inclui o tráfego do próprio
mongostat.
netOutA quantidade de tráfego de rede, em bytes, enviada pela instância MongoDB.
Isso inclui o tráfego do próprio
mongostat.
connO número total de conexões abertas.
setO nome, se aplicável, do conjunto de réplicas.
replO status de replicação do membro.
ValorTipo de replicaçãoPRISECRECrecuperando
UNKdesconhecido
RTRmongosprocesso ("roteador")ARB
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.