Menu Docs
Página inicial do Docs
/
Ferramentas do banco de dados MongoDB

mongotop

Nesta página

  • Synopsis
  • Sintaxe
  • Opções
  • Campos
  • Informações adicionais
  • Saiba mais

Esta documentação é para a versão 100.10.0 de mongotop.

mongotop é uma ferramenta de linha de comando que fornece um método para acompanhar quanto tempo uma instância do MongoDB mongod gasta lendo e gravando dados. mongotop fornece estatísticas em um nível por coleção. Por padrão, mongotop retorna valores a cada segundo.

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
...
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 --uri para especificar o host e a porta:

    mongotop 30 --uri='mongodb://mongodb0.example.com:27017' [additional options]

    Se a instância do mongod exigir 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 mongotop deve ter os privilégios serverStatus e top.

    Para obter mais informações sobre a string de conexão URI, consulte --uri.

  • Alternativamente, você pode utilizar as opções --host e --port para especificar o host e a porta:

    mongotop 30 --host=mongodb0.example.com --port=27017 [additional options]

    Se a instância do mongod exigir autenticação, você poderá especificar o usuário -u e o banco de dados de autenticação --authenticationDatabase. Omita a opção --password para que mongoexport solicite a senha.

    mongotop 30 --host=mongodb0.example.com --port=27017 -u=user --authenticationDatabase=admin [additional options]

    O usuário que executa mongotop deve ter os privilégios serverStatus e top.

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
...
--help

Retorna informações sobre as opções e uso de mongotop.

--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.)

--quiet

Executa mongotop em um modo silencioso que tenta limitar a quantidade de resultado.

Esta opção suprime:

--version

Retorna o número de versão mongotop.

--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 mongotop:

Esta é a maneira recomendada de especificar uma senha para mongotop, 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 campo uri: 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 usar a opção --password, --uri ou --sslPEMKeyPassword para mongotop, cada opção de linha de comando, substituirá a opção correspondente no arquivo de configuração.

--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.0 do mongotop, 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:// ou mongodb+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 --uri ou 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 string podem ser especificados usando suas próprias opções explícitas de linha de comando, como --username e --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 mongotop no Ubuntu 18.04, você poderá ver uma mensagem de erro cannot unmarshal DNS ao usar strings de conexão SRV (no formato mongodb+srv://) com a opção --uri. Nesse caso, use uma das seguintes opções:

Aviso

Em alguns sistemas, uma senha fornecida em uma string de conexão com a opção --uri pode ser visível para programas de status do sistema como ps 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 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, mongotop tenta se conectar a uma instância do MongoDB em execução no host local na porta número 27017.

Para se conectar a um conjunto de réplicas, especifique o replSetName e 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, mongotop sempre 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 --host e 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, mongotop retornará 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 --port e especificar informações conflitantes resultará em um erro.

--ssl

Habilita a conexão com um mongod ou mongos que 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 --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 no URI connection string. Fornecer uma string 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 um mongod ou mongos que tenha CAFile habilitado sem allowConnectionsWithoutCertificates.

Como alternativa, você também pode especificar o arquivo .pem diretamente no URI connection string. Fornecer uma string 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 de chave de certificado (ou seja, --sslPEMKeyFile). Utilize a opção --sslPEMKeyPassword somente se o arquivo da chave de certificado for criptografado. Em todos os casos, o mongotop eliminará 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, o mongotop solicitará 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 --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 como ps 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 ou mongos 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 string 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 mongotop se 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 --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.

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 --username 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 seu ID de chave de acesso da AWS em:

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 --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 string de conexão ao mesmo tempo em que usa --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:

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 --password pode ser visível para programas de status do sistema como ps que podem ser invocados por outros usuários. Em vez disso, considere:

  • omitindo a opção --password para receber uma solicitação de senha interativa, ou

  • utilizando a opção --config para 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-AWS authentication mechanism e 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:

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-AWS authentication mechanism.

--authenticationDatabase=<dbname>

Especifica o banco de dados de autenticação onde o --username especificado foi criado. --authenticationDatabase é necessário para instâncias mongod e mongos que usam autenticação em implantações autogerenciadas. Consulte Banco de dados de 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 string de conexão ao mesmo tempo em que usa --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 mongotop utiliza para autenticar no mongod ou mongos.

Alterado na versão 100.1.0: A partir da versão 100.1.0, o mongotop adiciona suporte ao mecanismo de autenticação MONGODB-AWS ao se conectar a um cluster do MongoDB Atlas.

Valor
Descrição
RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a função de hash SHA-1.

RFC 7677 Mecanismo de Autenticação de Resposta de Desafio Salted 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-AWS

Autenticaçã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 PLAIN para autenticar usuários do banco de dados. PLAIN transmite 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 --authenticationMechanism e 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.

--locks

Alterna o modo de mongotop para 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.

--locks retorna um erro quando chamado em uma instância mongod 3.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 mongotop deve imprimir. "0 para indeterminado"

--json

Retorna o resultado de mongotop no formato JSON. Além dos dados de tempo, a opção --json também retorna uma contagem do número de operações que ocorreram durante o intervalo de pesquisa.

<sleeptime>

O argumento final é o tempo, em segundos, que mongotop espera entre as chamadas. Por padrão, mongotop retorna dados a cada segundo.

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.ns

Conté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 campo ns não aparecerá na saída mongotop.

mongotop.db

Conté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 mongotop com a opção --locks.

mongotop.total

Informa o total de tempo que esse mongod passou operando nesse namespace.

mongotop.read

Informa quanto tempo esse mongod gastou realizando operações de leitura nesse namespace.

mongotop.write

Fornece a quantidade de tempo que este mongod gastou executando operações de gravação neste namespace.

mongotop.<timestamp>

Fornece um carimbo de data/hora para os dados retornados.

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 uma utilidade adicional que forneça métricas MongoDB, consulte mongostat.

Voltar

Exemplos