Captura de dados de diagnóstico em tempo integral
Nesta página
Para ajudar os engenheiros do MongoDB a analisar o comportamento do servidor , os processos mongod
e mongos
incluem um mecanismo Full Time Diagnostic Data Capture (FTDC). O FTDC está habilitado por padrão. Devido à sua importância na depuração de sistemas, as falhas de thread do FTDC são fatais e interrompem o processo pai mongod
ou mongos
.
Comportamento
Observação
Permissões de usuário FTDC no Windows
No Windows, para coletar dados do sistema, como disco, cpu e memória, o FTDC exige permissões de acesso da Microsoft dos seguintes grupos:
Usuários do monitor de desempenho
Usuários de registro de desempenho
Se o usuário executando o mongod
e mongos
não for um administrador, adicione-o a estes grupos para registrar dados FTDC. Para obter mais informações, consulte a documentação da Microsoft aqui.
O FFTDC coleta periodicamente estatísticas produzidas pelos seguintes comandos:
replSetGetStatus
(mongod
apenas)collStats
para a collectionlocal.oplog.rs
(mongod
somente)connPoolStats
(mongos
apenas)
Dependendo do sistema operacional do host, os dados de diagnóstico podem incluir uma ou mais das seguintes estatísticas de utilização:
Utilização da CPU
Utilização da memória
Utilização de disco relacionada ao desempenho. FTDC não inclui dados relacionados à capacidade de armazenamento.
Estatísticas de desempenho da rede. O FTDC captura apenas metadados e não captura ou inspeciona nenhum pacote de rede.
Observação
Se o processo mongod
for executado em um contêiner, o FTDC relatará as estatísticas de utilização da perspectiva do contêiner em vez do sistema operacional do host. Por exemplo, se o mongod
for executado em um contêiner configurado com restrições de RAM, o FTDC calculará a utilização da memória em relação ao limite de RAM do contêiner, em vez do limite de RAM do sistema operacional host.
FTDC coleta estatísticas produzidas pelos seguintes comandos na rotação ou inicialização do arquivo:
Arquivos de dados FTDC
Os processos mongod
armazenam arquivos de dados FTDC em um diretório diagnostic.data
nas instâncias storage.dbPath
. Todos os arquivos de dados de diagnóstico são armazenados neste diretório. Por exemplo, dado um dbPath
de /data/db
, o diretório de dados de diagnóstico seria /data/db/diagnostic.data
.
Os processos mongos
armazenam arquivos de dados FTDC em um diretório de diagnóstico relativo à configuração do caminho de log systemLog.path
. O MongoDB trunca a extensão de arquivo do caminho de log e concatena o diagnostic.data
para o nome restante. Por exemplo, dada uma configuração path
de /var/log/mongodb/mongos.log
, o diretório de dados de diagnóstico seria /var/log/mongodb/mongos.diagnostic.data
.
Privacidade do FTDC
Os arquivos de dados FTDC são compactados e não podem ser lidos por humanos. Eles herdam as mesmas permissões de acesso de arquivo que os arquivos de dados MongoDB. Somente usuários com acesso a arquivos de dados FTDC podem transmitir os dados FTDC.
Os engenheiros do MongoDB não podem acessar dados FTDC sem permissão explícita e assistência de proprietários ou operadores do sistema.
Os dados do FTDC nunca contêm nenhuma das seguintes informações:
Amostras de consultas, predicados de consulta ou resultados de consulta
Dados amostrados de qualquer collection ou índice de usuário final
Credenciais de usuário do sistema ou MongoDB ou certificados de segurança
Os dados do FTDC contêm determinadas informações do computador host, como nomes de host, informações do sistema operacional e as opções ou configurações usadas para iniciar o mongod
ou mongos
. Essas informações podem ser consideradas protegidas ou confidenciais por algumas organizações ou órgãos reguladores, mas normalmente não são consideradas Informações de Identificação Pessoal (PII). Para clusters onde esses campos são configurados com dados protegidos, confidenciais ou PII, notifique os engenheiros do MongoDB antes de enviar dados FTDC para coordenar as medidas de segurança apropriadas.
Detalhes
Você pode visualizar o código-fonte do FTDC no repositório do MongoDB no Github. Os arquivos ftdc_system_stats_*.ccp
definem especialmente quaisquer dados de diagnóstico específicos capturados do sistema.
Padrões do FTDC
O FTDC é executado com os seguintes padrões:
Captura de dados a cada 1 segundo
Tamanho máximo da pasta
diagnostic.data
de 200 MB.
Esses padrões são projetados para fornecer dados úteis aos engenheiros do MongoDB com impacto mínimo no desempenho ou no tamanho do armazenamento. Esses valores só exigem modificações se solicitados pelos engenheiros do MongoDB para fins específicos de diagnóstico.
Desativar FTDC
Para desativar o FTDC, inicie o mongod
ou mongos
com a opção diagnosticDataCollectionEnabled: false
nas configurações setParameter
do seu arquivo de configuração:
setParameter: diagnosticDataCollectionEnabled: false
A desativação do FTDC pode aumentar o tempo ou os recursos necessários para analisar ou depurar problemas com o suporte dos engenheiros do MongoDB. Para obter informações sobre o suporte do MongoDB, visite Comece a usar o suporte do MongoDB.