Exemplos do mongostat
Nesta página
- Especifique
mongostat
período e frequência de coleção - Adicionar campos a
mongostat
gera - Especifique campos de saída
mongostat
- Visualize a taxa de mudança de um campo com
- Visualizar alterações de campo com
- Visualizar estatísticas de um conjunto de réplica ou cluster compartilhado
- Visualize estatísticas em uma interface interativa
- Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
- Saiba mais
Esta página mostra exemplos para mongostat
.
Execute mongostat
na linha de comando do sistema, não no shell mongo
.
Especifique mongostat
período e frequência de coleção
No primeiro exemplo, mongostat
retornará dados a cada segundo por 20 segundos. mongostat
coleta dados da instância mongod
em execução na interface localhost na porta 27017. Todas as invocações abaixo produzem comportamento idêntico:
mongostat --rowcount=20 1 mongostat --rowcount=20 mongostat -n=20 1 mongostat -n=20
No próximo exemplo, mongostat
retorna dados a cada 5 minutos (ou 300 segundos) enquanto o programa for executado. mongostat
coleta dados da instância mongod
em execução na interface localhost na porta 27017
. As seguintes invocações produzem comportamento idêntico:
mongostat --rowcount=0 300 mongostat -n=0 300 mongostat 300
No exemplo a seguir , mongostat
retorna dados a cada 5 minutos durante uma hora (12 vezes.) O mongostat
coleta dados da instância do mongod
executando na interface do localhost na porta 27017. As seguintes invocações produzem comportamento idêntico:
mongostat --rowcount=12 300 mongostat -n=12 300
Adicionar campos a mongostat
gera
-O
permite que você especifique campos da saída serverStatus
para adicionar à saída mongostat
padrão. Se você incluir um espaço no nome do seu arquivo personalizado, não coloque aspas adicionais delimitando o nome do campo .
O exemplo seguinte adiciona campos à saída mongostat
padrão:
mongostat -O='host,version,network.numRequests=network requests'
A saída mongostat
se assemelha a:
insert query update delete getmore command dirty used flushes vsize res qrw arw net_in net_out conn time host version network requests *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 158b 39.4k 2 Oct 11 12:14:45.878 localhost:37017 3.3.14 91 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.3k 2 Oct 11 12:14:46.879 localhost:37017 3.3.14 95 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 2.51G 19.0M 0|0 0|0 157b 39.2k 2 Oct 11 12:14:47.884 localhost:37017 3.3.14 99
Os seguintes campos são adicionados à saída padrão:
O campo network.numRequests
tem um nome de campo personalizado, "solicitações de rede".
Especifique mongostat
campos de saída
-o
especifica as colunas que mongostat
inclui em sua saída. Você pode especificar qualquer campo serverStatus
como uma coluna de saída mongostat
.
O exemplo a seguir utiliza campos personalizados para mongostat
:
mongostat --port 27500 -o='host,opcounters.insert.rate()=Insert Rate,opcounters.query.rate()=Query Rate,opcounters.command.rate()=Command Rate,wiredTiger.cache.pages requested from the cache=Pages Req,metrics.document.inserted=inserted rate'
A saída mongostat
se assemelha a:
host Insert Rate Query Rate Command Rate Pages Req Inserted Rate localhost:27500 180 1 8 2999446 9638 localhost:27500 40 3 12 2999601 9678 localhost:27500 181 2 9 3000207 9859 localhost:27500 39 2 12 3000362 9899 localhost:27500 181 2 11 3000969 10080 localhost:27500 39 2 10 3001124 10120
Os contadores e os nomes de campos personalizados correspondentes são:
Contador | Nome do campo personalizado |
---|---|
opcounters.insert.rate | Inserir taxa |
opcounters.query.rate | Taxa de query |
opcounters.command.rate | Taxa de comando |
wiredTiger.cache.pages solicitado a partir do cache | Necessidade de páginas |
metrics.document.inserted | Taxa inserida |
Visualize a taxa de mudança de um campo com .rate()
.rate()
permite que você visualize a taxa por segundo na qual um campo numérico foi alterado de uma chamada mongostat
para outra. Por exemplo, você pode visualizar a taxa na qual os documentos foram inseridos durante uma operação de inserção. Portanto, .rate()
pode ajudar você a visualizar o desempenho da sua instância mongod
.
O exemplo a seguir informa sobre a taxa de alteração do campo metrics.document.inserted
serverStatus
. A invocação usa a capacidade de -o
de especificar o nome de uma coluna para rotular metrics.document.inserted.rate()
como "inserted rate" e metrics.document.inserted
como "inserted":
mongostat -o='host,mem,bits,metrics.document.inserted.rate()=inserted rate,metrics.document.inserted=inserted' --rowcount=5
A saída seria então semelhante a:
host mem.bits inserted rate inserted localhost:37017 64 501 3455 localhost:37017 64 967 13128 localhost:37017 64 972 22851 localhost:37017 64 214 25000 localhost:37017 64 0 25000
Visualizar alterações de campo com .diff()
.diff()
retorna a diferença entre o valor de campo serverStatus
atual e o valor da chamada mongostat
anterior. O exemplo a seguir retorna estatísticas sobre o número de documentos que estão sendo inseridos em uma coleção: inserted
diff
é a diferença no campo metrics.document.inserted
entre as chamadas subsequentes, enquanto inserted
é o valor de metrics.document.inserted
:
mongostat -o='host,mem.bits,metrics.document.inserted.diff()=inserted diff,metrics.document.inserted=inserted' --rowcount=5
A saída seria então semelhante a:
host mem.bits inserted diff inserted localhost:27017 64 0 25359 localhost:27017 64 94 25453 localhost:27017 64 938 26391 localhost:27017 64 964 27355 localhost:27017 64 978 28333
Visualizar estatísticas de um conjunto de réplica ou cluster compartilhado
Em muitos casos, o uso da opção --discover
ajudará a fornecer uma visão mais completa do estado de um grupo inteiro de máquinas. Se um processo do mongos
conectado a um cluster fragmentado estiver executando na porta 27017
da máquina local, você poderá utilizar o seguinte formulário para retornar estatísticas de todos os membros do agrupamento:
mongostat --discover
Visualize estatísticas em uma interface interativa
Use a opção para --interactive
visualizar estatísticas em um ncurses sem rolagem saída interativa - estilo. A opção --interactive
permite que você destaque hosts, colunas ou campos específicos para consultar. Quando combinado com --discover
, --interactive
exibe estatísticas para todos os membros de um conjunto de réplica ou cluster fragmentado, como no seguinte exemplo:
mongostat --discover --interactive
A saída de um cluster fragmentado se assemelharia a:
host insert query update delete getmore command dirty used flushes mapped vsize res faults qrw arw net_in net_out conn set repl time hostname.local:27018 *0 *0 *0 *0 0 1|0 0.0% 0.0% 0 3.25G 25.0M n/a 0|0 1|0 157b 43.9k 19 tic PRI Nov 2 11:44:46.439 hostname.local:27019 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439 hostname.local:27020 *0 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.18G 26.0M n/a 0|0 1|0 322b 44.4k 12 tic SEC Nov 2 11:44:46.439 hostname.local:27021 2017 *0 *0 *0 826 1029|0 0.0% 0.0% 0 3.25G 31.0M n/a 0|0 1|0 1.74m 1.60m 20 tac PRI Nov 2 11:44:46.439 hostname.local:27022 *2021 *0 *0 *0 0 2|0 0.0% 0.0% 0 3.19G 32.0M n/a 0|0 1|0 322b 44.6k 12 tac SEC Nov 2 11:44:46.438 hostname.local:27023 *2022 *0 *0 *0 0 3|0 0.0% 0.0% 0 3.19G 33.0M n/a 0|0 1|0 323b 44.7k 12 tac SEC Nov 2 11:44:46.438 localhost:27017 2071 *0 *0 *0 0 2073|0 0 0B 2.43G 9.00M 0 0|0 0|0 249k 130k 4 RTR Nov 2 11:44:47.429 Press '?' to toggle help
Conecte-se a um cluster MongoDB Atlas usando as credenciais AWS IAM
Novidades na versão 100.1.0.
Para se conectar a um cluster do MongoDB Atlas que foi configurado para oferecer suporte à autenticação por meio de credenciais da AWS IAM, forneça um connection string
a mongostat
semelhante ao seguinte:
mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>
A conexão ao Atlas usando credenciais AWS IAM dessa maneira usa o MONGODB-AWS
authentication mechanism
e o $external
authSource
, como mostrado neste exemplo.
Se estiver usando um token de sessão da AWS, forneça-o também com o valor AWS_SESSION_TOKEN
authMechanismProperties
, como segue:
mongostat 'mongodb+srv://<aws access key id>:<aws secret access key>@cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS&authMechanismProperties=AWS_SESSION_TOKEN:<aws session token>' <other options>
Observação
Se o ID da chave de acesso da AWS, a chave de acesso secreta ou o token de sessão incluírem os seguintes caracteres:
: / ? # [ ] @
esses caracteres devem ser convertidos usando codificação percentual.
Como alternativa, a ID da chave de acesso da AWS, a chave de acesso secreta e, opcionalmente, o token de sessão podem ser fornecidos fora da string de conexão usando as opções --username
, --password
e --awsSessionToken
, desta forma:
mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' --username <aws access key id> --password <aws secret access key> --awsSessionToken <aws session token> <other options>
Quando fornecidos como parâmetros da linha de comando, estas três opções não exigem codificação percentual.
Você também pode definir essas credenciais em sua plataforma usando variáveis de ambiente padrão do AWS IAM. mongostat
verifica as seguintes variáveis de ambiente quando você usa o MONGODB-AWS
authentication mechanism
:
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_SESSION_TOKEN
Se definidas, essas credenciais não precisam ser especificadas na connection string ou por meio de suas opções explícitas.
Observação
Se você optar por usar as variáveis de ambiente da AWS para especificar esses valores, não poderá combinar e corresponder com as opções explícitas ou de cadeia de conexão correspondentes para essas credenciais. Use as variáveis de ambiente para ID de chave de acesso e chave de acesso secreta (e token de sessão, se usado) ou especifique cada uma delas usando as opções explícitas ou de cadeia de conexão.
O exemplo a seguir define essas variáveis de ambiente no shell bash
:
export AWS_ACCESS_KEY_ID='<aws access key id>' export AWS_SECRET_ACCESS_KEY='<aws secret access key>' export AWS_SESSION_TOKEN='<aws session token>'
A sintaxe para definir variáveis de ambiente em outros shells será diferente. Consulte a documentação da sua plataforma para obter mais informações.
Você pode verificar se essas variáveis de ambiente foram definidas com o seguinte comando:
env | grep AWS
Depois de definido, o exemplo a seguir se conecta a um MongoDB Atlas cluster usando estas variáveis de ambiente:
mongostat 'mongodb+srv://cluster0.example.com/testdb?authSource=$external&authMechanism=MONGODB-AWS' <other options>