mongot expõe duas superfícies de diagnóstico no host que ajudam a diagnosticar problemas com o MongoDB Search e o MongoDB Pesquisa Vetorial:
Logs: o registro legível por humanos da atividade
mongot, incluindo avisos e erros.FTDC (Full Time Diagnostic Data Capture): O fluxo de diagnóstico binário que captura o estado interno detalhado a cada segundo, destinado à transferência de suporte.
Use logs para investigar incidentes e capturar ambas as superfícies ao preparar um caso de suporte do MongoDB.
Registros
mongot Os logs registram a atividade do processo, incluindo avisos e erros. Use logs para verificar se a inicialização foi concluída, monitorar a integridade do estado estacionário e investigar falhas.
Destinos de log
Onde mongot grava logs depende do seu tipo de implantação:
Tipo de implementação | Destino padrão |
|---|---|
Linux tarball |
|
Container |
|
|
|
Kubernetes Operator |
|
Verbosidade do registro
A opção logging.verbosity especificada no arquivo de configuração mongot aceita os seguintes níveis:
Nível | Quando usar |
|---|---|
| Quando você investiga uma falha específica. Mantenha este nível ativado por horas, não dias. |
| Raramente apropriado para produção, porque você perde o contexto para |
| padrão. Apropriado para produção. |
| Apenas engenharia e suporte aprofundado. Muito detalhado. |
| Quando você precisa reduzir o volume de log e ter alertas separados sobre erros. |
mongot lê o detalhamento na inicialização. Para alterá-lo, reinicie mongot.
Formato de registro
mongot emite logs JSON estruturados, com um objeto JSON por linha. Este formato alinha os logs mongot com o formato de log estruturado mongod.
Cada entrada de log mongot inclui campos como t, s, svc, ctx, n, msg e attr opcional. Por exemplo:
{"t":"2026-06-22T14:03:41.582+0000","s":"INFO","svc":"MONGOT","ctx":"indexing-lifecycle-0","n":"com.xgen.mongot.replication.mongodb.initialsync.BufferlessInitialSyncManager","msg":"Beginning initial sync.","attr":{"startTime":"2026-06-22T14:03:41.582+0000","indexGenerationId":"6857f3b6e4b04c2a9d1f0a12-f6-u0-a0"}}
Cada objeto de log contém os seguintes campos:
Campo | Descrição |
|---|---|
| Carimbo de data/hora, em UTC e formato ISO-8601. |
| Gravidade. Um de |
| Serviço que emitiu a entrada, como |
| Contexto de execução, como o nome do thread ou da tarefa. |
| Nome do registrador. |
| Mensagem legível por humanos. |
| Atributos estruturados opcionais específicos do evento, como |
O que procurar na inicialização
Uma inicialização mongot saudável emite uma sequência de eventos identificáveis no detalhamento INFO padrão. Procure esses eventos em vez de strings literais específicas:
Evento | Texto da mensagem |
|---|---|
A sincronização inicial começa para um índice |
|
Atividade da fila de sincronização inicial |
|
Verificação de reinicialização baseada em disco na inicialização |
|
desligar |
|
Linhas informativas adicionais existem na inicialização. Os eventos anteriores são os que suportam a verificação.
Os seguintes indicadores mostram que a inicialização não foi concluída:
Indicador | em ação |
|---|---|
Nenhum evento | Procure erros de autenticação ou URI de replicação no início do log. |
Um evento | Para corrigir, consulte Solucionar problemas de implantações mongot autogerenciadas. |
A mensagem | Verifique o parâmetro |
O que procurar em estado estacionário
Em estado estável, os logs saudáveis são principalmente silenciosos. Espere mensagens informativas periódicas de tarefas em segundo plano, como fusões e ticks FTDC, e entradas WARN ocasionais para comportamento transitório do cliente. Não espere entradas ERROR ou Exception.
Os seguintes padrões de log de estado estável exigem atenção:
Padrão | Significado |
|---|---|
|
|
| O oplog foi revertido antes que |
| Normal durante |
Explosão de mapeamento de documentos | Um índice encontrou um documento com muitos campos, geralmente porque o mapeamento dinâmico está ativado e um documento tem chaves arbitrárias. O índice pode travar ou |
Para mapear esses padrões para procedimentos de remediação, consulte Solucionar problemas de implantações mongot autogerenciadas.
Pesquisar logs
Como o log mongot é JSON, jq é a ferramenta mais natural para pesquisá-lo. Os exemplos a seguir mostram queries comuns:
# All errors jq 'select(.s == "ERROR")' mongot.log # Initial sync activity jq 'select(.msg | startswith("Beginning initial sync"))' mongot.log # Replication or sync from specific loggers jq 'select(.n | test("BufferlessInitialSyncManager|InitialSyncQueue|InitialSyncManager"))' mongot.log # Resync events jq 'select(.msg | test("requiring resync|InitialSyncException|SteadyStateException"))' mongot.log # Connection-pool churn jq 'select(.msg | test("Dropping all pooled connections|ShutdownInProgress"))' mongot.log # Embedding-related entries jq 'select(.msg | test("embedding|voyage"; "i"))' mongot.log
Como o JSON é de linha única, grep também funciona:
grep '"s":"ERROR"' mongot.log grep '"msg":"Beginning initial sync\.' mongot.log grep -E '"n":"[^"]*(BufferlessInitialSyncManager|InitialSyncQueue)' mongot.log
Para plataformas de log como Elasticsearch, Splunk e DataDog, filtre em s:ERROR, n:<logger> ou attr.<key> em vez de texto. Os campos são estáveis, mas os padrões de texto completo podem mudar entre as versões.
Para implantações que executam várias instâncias mongot, inclua o identificador da instância nas tags de encaminhamento de log para que você possa filtrar por instância.
Dicas de análise de log
Tenha em mente os seguintes pontos ao analisar os logs mongot:
Os logs nem sempre incluem o nome do índice na mensagem. Para falhas de indexação, a linha de log relevante pode aparecer várias linhas antes ou depois no mesmo contexto de logger. Capture uma janela, não uma única linha.
Faça referência cruzada aos logs
mongotcom os logsmongodna mesma janela de tempo. Muitos errosmongotestão a jusante dos eventosmongod.Se você abrir um caso de suporte do MongoDB, envie o arquivo de log completo ou uma janela de tempo ampla, em vez de um conjunto filtrado de
ERRORlinhas.
FTDC
OFTDC é um fluxo de diagnóstico binário que captura o estado interno detalhado a cada segundo no disco. O FTDC é o artefato canônico que as equipes de serviços técnicos do MongoDB usam para diagnosticar problemas mongot.
O que o FTDC contém
As amostras FTDC incluem dados nas mesmas categorias que as métricas do Prometheus, além do estado interno que mongot não expõe externamente:
Estado do processo e da JVM, incluindo heap, coleta de lixo e threads
Estatísticas de indexação por índice
Latências de query por operador
Estado de replicação e posição do oplog
Estado do pool de executores
Estado de mesclagem e cache do Lucene
Configuração e eventos de ciclo de vida
Estado do pool de conexões
Localização do arquivo FTDC
Por padrão, mongot grava arquivos FTDC em <storage.dataPath>/diagnostic.data/, a mesma convenção que mongod usa com <storage.dbPath>/diagnostic.data/.
Para uma instância mongot com storage.dataPath definido como /var/lib/mongot, os arquivos FTDC estão em /var/lib/mongot/diagnostic.data/.
mongot nomeia arquivos com carimbos de data/hora e os gira automaticamente. Os tamanhos dos arquivos são normalmente:
Algumas centenas de KB por arquivo
Vários arquivos por hora sob carga
Aproximadamente 1 GB por dia por instância
mongot, dependendo da carga
O tamanho total do diretório de arquivo FTDC no disco é limitado por advancedConfigs.ftdc.directorySizeMb.
Importante
mongot gira os arquivos FTDC automaticamente. Não exclua arquivos FTDC manualmente durante um incidente. As equipes de suporte do MongoDB solicitam arquivos FTDC ao diagnosticar problemas.
Configurar FTDC
O FTDC está habilitado por padrão. Para substituir os padrões, defina as seguintes opções no bloco advancedConfigs.ftdc na configuração YAML mongot:
Opção | Default | Descrição |
|---|---|---|
|
| Habilita FTDC. Quando |
|
| Tamanho total máximo, em megabytes, do diretório de arquivo FTDC. Deve ser pelo menos |
|
| Tamanho máximo, em megabytes, de um arquivo de arquivo FTDC individual. Deve ser pelo menos |
|
| Intervalo, em milissegundos, no qual |
Para a maioria das implantações, os padrões são apropriados. Substitua-os somente se tiver um requisito específico de uso de disco. Para saber mais sobre essas configurações, consulte Configurações avançadas do FTDC.
Capturar FTDC para suporte
Ao abrir um caso com o suporte do MongoDB, envie todo o diretório diagnostic.data/ da instância mongot afetada, cobrindo o período do problema. Agrupe e compacte o diretório.
Para uma implantação de tarball do Linux, agrupe o diretório:
tar -czf mongot-ftdc-$(hostname)-$(date -u +%Y%m%dT%H%M%S).tar.gz <dataPath>/diagnostic.data/
Para uma implantação de contêiner, copie o diretório para fora do contêiner primeiro:
docker cp <container>:/<dataPath>/diagnostic.data ./mongot-ftdc tar -czf mongot-ftdc.tar.gz ./mongot-ftdc
Para uma implantação do Kubernetes operador, copie o diretório para fora do pod primeiro:
kubectl cp <namespace>/<pod>:<dataPath>/diagnostic.data ./mongot-ftdc tar -czf mongot-ftdc.tar.gz ./mongot-ftdc
Inclua o seguinte no caso de suporte:
O pacote FTDC.
O arquivo de log
mongotque cobre a mesma janela de tempo, mais um buffer de uma hora antes.O arquivo de log
mongodno primário cobrindo a mesma janela.A versão
mongot, a versãomongode a versão do operador Kubernetes, se aplicável.Um carimbo de data/hora de quando você observou o problema pela primeira vez.
Uma descrição do que mudou na implantação por volta dessa época, como configuração, tráfego ou atualizações.
Dados confidenciais no FTDC
O FTDC contém métricas operacionais e estado interno, não dados de documentos brutos ou strings de query do usuário. Geralmente, o FTDC é seguro para enviar ao suporte do MongoDB sem higienização. Se sua política de compliance for mais rigorosa, revise os campos capturados com sua equipe de segurança antes de enviá-los.
O mesmo não é verdade para logs. As linhas de log podem incluir texto de query, identificadores de documento ou outros dados de nível de aplicativo, dependendo do nível de log. Revise os arquivos de log antes de enviá-los em ambientes de compliance restritivos.