Esta documentação é para a versão 100.18.0 de mongotop.
Synopsis
mongotop é uma ferramenta de linha de comando que fornece um método para rastrear a quantidade de tempo que uma instância do MongoDB passa lendo e gravando mongod dados. mongotop fornece estatísticas em um nível por coleção. Por padrão, mongotop retorna valores a cada segundo.
Sintaxe
mongotop sintaxe:
mongotop <options> <connection-string> <polling interval in seconds>
A execução de mongotop sem nenhuma opção de linha de comando se conectará à instância mongod em execução no localhost pela porta 27017 e retornará valores a cada segundo por padrão.
mongotop
Para fazer com que o mongotop faça um relatório a cada 30 segundos, especifique o intervalo de pesquisa:
mongotop 30
Quando conectado a uma instância mongod, o programa informa primeiro sobre a conexão e, em seguida, informa sobre as estatísticas na frequência configurada.
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ...
Opções de linha de comando
mongotop [options] [frequency]
Você pode executar mongotop com várias opções de linha de comando.
Por exemplo, para conectar mongotop a uma instância mongod em execução em um host remoto mongodb0.example.com e relatar a cada 30 segundos:
Você pode incluir a frequência desejada de relatórios (neste exemplo, 30 segundos) e a opção
--uripara especificar o host e a porta:mongotop 30 --uri='mongodb://mongodb0.example.com:27017' [additional options] Se a instância do
mongodexigir autenticação, você poderá especificar o usuário, senha e banco de dados de autenticação como parte da string de conexão URI:mongotop 30 --uri='mongodb://user:password@mongodb0.example.com:27017/?authSource=admin' [additional options] O usuário que executa
mongotopdeve ter os privilégiosserverStatusetop.Para obter mais informações sobre a string de conexão URI, consulte
--uri.Alternativamente, você pode utilizar as opções
--hoste--portpara especificar o host e a porta:mongotop 30 --host=mongodb0.example.com --port=27017 [additional options] Se a instância do
mongodexigir autenticação, você poderá especificar o usuário-ue o banco de dados de autenticação--authenticationDatabase. Omita a opção--passwordpara quemongoexportsolicite a senha.mongotop 30 --host=mongodb0.example.com --port=27017 -u=user --authenticationDatabase=admin [additional options] O usuário que executa
mongotopdeve ter os privilégiosserverStatusetop.
Para obter mais informações sobre as opções disponíveis, consulte Opções.
Quando conectado a uma instância mongod, o programa informa primeiro sobre a conexão e, em seguida, informa sobre as estatísticas na frequência configurada.
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ...
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.)
--quietExecuta
mongotopem um modo silencioso que tenta limitar a quantidade de resultado.Esta opção suprime:
saída de comandos do banco de dados
atividade de replicação
eventos aceitos de conexão
eventos fechados de conexão
--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
mongotopseguintes:Esta é a maneira recomendada de especificar uma senha para
mongotop, 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 comandomongotop, 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 usar as opções de linha de comando--password,--uriou--sslPEMKeyPasswordmongotop, 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.0domongotop, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a opção--uri:mongotop 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:mongotop --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 na
connection stringpodem ser especificados usando suas próprias opções explícitas de linha de comando, como--usernamee--password. Fornecer uma string de conexão e, ao mesmo tempo, usar uma opção explícita e especificar informações conflitantes resultará em um erro.Observação
Se estiver usando
mongotopno Ubuntu 18.04, você poderá ver uma mensagem de errocannot unmarshal DNSao usar strings de conexão SRV (no formatomongodb+srv://) com a opção--uri. Nesse caso, use uma das seguintes opções:a opção
--uricom uma string de conexão não SRV (no formuláriomongodb://)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,
mongotoptenta se conectar a uma instância do MongoDB em execução no host local na porta número27017.Para se conectar a um conjunto de réplicas, especifique o
replSetNamee uma lista de sementes de nós do conjunto, como a seguir:--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...> Ao definir o formato da lista de conjuntos de réplicas,
mongotopsempre se conecta ao primário.Você também pode se conectar a qualquer membro da réplica definida especificando o host e a porta de apenas esse membro:
--host=<hostname1><: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.Se estiver conectado a um conjunto de réplicas em que o primário não está acessível,
mongotopretornará uma mensagem de 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 ao mesmo tempo em que usa--porte especificar informações conflitantes resultará em um erro.
--sslHabilita a conexão com um
mongodoumongosque tenha suporte a TLS/SSL habilitado.Alternativamente, você também pode configurar o suporte de TLS/SSL diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--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.Como alternativa, você também pode especificar o arquivo
.pemdiretamente noURI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslCAFilee 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 opção
--sslpara conectar a ummongodoumongosque tenhaCAFilehabilitado semallowConnectionsWithoutCertificates.Como alternativa, você também pode especificar o arquivo
.pemdiretamente noURI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslPEMKeyFilee 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 de chave de certificado (ou seja,
--sslPEMKeyFile). Utilize a opção--sslPEMKeyPasswordsomente se o arquivo da chave de certificado for criptografado. Em todos os casos, omongotopeliminará a senha de todas as saídas de log e relatórios.Se a chave privada no arquivo PEM estiver criptografada e você não especificar a opção
--sslPEMKeyPassword, omongotopsolicitará uma senha. Consulte a página Senha do Certificado TLS/SSL.Como alternativa, você também pode especificar a senha diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--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
allowInvalidCertificates, o MongoDB registra como aviso o uso do certificado invá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
mongodoumongossem 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 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
mongotopse conecte às instâncias do MongoDB mesmo que o nome do host em seus certificados não corresponda ao nome de host especificado.Outra opção é desabilitar a validação do nome de host diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--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
--passworde--authenticationDatabase.Alternativamente, você também pode especificar o nome de usuário diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--usernamee especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanism, você pode especificar seu ID de chave de acesso da AWS em:esse campo,
o
connection string, 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 MongoDB database que usa autenticação. Utilize em conjunto com as opções
--usernamee--authenticationDatabase.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 string de conexão ao mesmo tempo em que usa--passworde especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication 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 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:omitindo 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 você se conectar a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanisme usando tokens de sessão além do ID da chave de acesso Amazon Web Services e da chave de acesso do secret do Kubernetes, você poderá especificar o token da sessão da Amazon Web Services em:esse campo,
o parâmetro
AWS_SESSION_TOKENauthMechanismPropertiespara oconnection string, oua 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 utilizar o
MONGODB-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica o banco de dados de autenticação onde o
--usernameespecificado foi criado.--authenticationDatabaseé necessário para instânciasmongodemongosque usam autenticação em implantações autogerenciadas. Consulte Banco de dados de autenticação.Se você usar GSSAPI (Kerberos), PLAIN (LDAP SASL) ou
MONGODB-AWSauthentication mechanisms, você deve definir--authenticationDatabasepara$external.Como alternativa, você também pode especificar o banco de dados de autenticação diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--authenticationDatabasee 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
mongotoputiliza para autenticar nomongodoumongos.Alterado na versão 100.1.0.:
A partir da versão
100.1.0, omongotopoferece 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 salgado padrão usando a função de hash SHA-1.
RFC 7677 mecanismo de autenticação de resposta de desafio salgado padrão usando a função de hash SHA-256.
Exige featureCompatibilityVersion definido para
4.0.Autenticação de certificado TLS/SSL do MongoDB.
MONGODB-AWSAutenticação externa usando credenciais da 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 do banco de dados.PLAINtransmite senhas em texto simples. Esse mecanismo está disponível apenas 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 ao mesmo tempo em que usa--authenticationMechanisme especificar informações conflitantes resultará em um erro.
--gssapiServiceName=<serviceName>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=<hostname>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.
--locksAlterna o modo de
mongotoppara relatar o uso de bloqueios por banco de dados. Esses dados só estão disponíveis quando conectados a uma instância do MongoDB 2.6 ou anterior.--locksretorna um erro quando chamado em uma instânciamongod3.0 ou uma instância mais recente que não informa o uso de bloqueio por banco de dados.
--rowcount=<int>, -n=<int>Número de linhas de dados que o
mongotopdeve imprimir. "0 para indeterminado"
--jsonRetorna o resultado de
mongotopno formato JSON. Além dos dados de tempo, a opção--jsontambém retorna uma contagem do número de operações que ocorreram durante o intervalo de pesquisa.
Campos
Quando conectado a uma instância mongod, o programa informa primeiro sobre a conexão e, em seguida, informa sobre as estatísticas na frequência configurada. mongotop retorna os valores de tempo especificados em milissegundos (ms.)
2019-04-29T15:35:27.785-0400 connected to: 127.0.0.1 ns total read write <timestamp> <db.collection> 81802ms 0ms 81802ms ... ns total read write <timestamp> <db.collection> 0ms 0ms 0ms ...
mongotop relata somente namespaces ou bancos de dados ativos, dependendo da opção --locks. Se você não vir um banco de dados ou uma coleção, ele não recebeu nenhuma atividade recente. Você pode emitir uma operação simples no shell mongo para gerar atividades que afetem a saída de mongotop.
mongotop.nsContém o namespace do banco de dados, que combina o nome do banco de dados e a coleção.
Se você utilizar o
mongotop --locks, o camponsnão aparecerá na saídamongotop.
mongotop.dbContém o nome do banco de dados. O banco de dados denominado
.refere-se ao bloqueio global, em vez de um banco de dados específico.Esse campo não aparece a menos que você tenha invocado
mongotopcom a opção--locks.
mongotop.totalInforma o total de tempo que esse
mongodpassou operando nesse namespace.
mongotop.readInforma quanto tempo esse
mongodgastou realizando operações de leitura nesse namespace.
mongotop.writeFornece a quantidade de tempo que este
mongodgastou executando operações de gravação neste namespace.
Informações adicionais
Para obter mais informações sobre o monitoramento do MongoDB, consulte Monitoramento do MongoDB.
Para obter informações adicionais sobre várias outras saídas de status do MongoDB, consulte:
Para obter um utilitário adicional que forneça métricas MongoDB , consulte mongostat.