Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Logs do mongot e FTDC

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.

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.

Onde mongot grava logs depende do seu tipo de implantação:

Tipo de implementação
Destino padrão

Linux tarball

stdout e stderr, ou um arquivo se você definir logging.logPath na configuração YAML mongot.

Container

stdout e stderr. Recupere logs com docker logs <container>.

atlas-local

stdout e stderr dentro do contêiner. Recupere logs com docker logs.

Kubernetes Operator

stdout e stderr do pod. Recupere logs com kubectl logs <pod> e encaminhe-os para a plataforma de log do cluster.

A opção logging.verbosity especificada no arquivo de configuração mongot aceita os seguintes níveis:

Nível
Quando usar

DEBUG

Quando você investiga uma falha específica. Mantenha este nível ativado por horas, não dias.

ERROR

Raramente apropriado para produção, porque você perde o contexto para WARN problemas.

INFO

padrão. Apropriado para produção.

TRACE

Apenas engenharia e suporte aprofundado. Muito detalhado.

WARN

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.

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

t

Carimbo de data/hora, em UTC e formato ISO-8601.

s

Gravidade. Um de TRACE, DEBUG, INFO, WARN ou ERROR.

svc

Serviço que emitiu a entrada, como MONGOT.

ctx

Contexto de execução, como o nome do thread ou da tarefa.

n

Nome do registrador.

msg

Mensagem legível por humanos.

attr

Atributos estruturados opcionais específicos do evento, como startTime, numQueued e indexGenerationId. mongot omite valores nulos e vazios.

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

Beginning initial sync. de BufferlessInitialSyncManager, com attr.startTime e attr.indexGenerationId.

Atividade da fila de sincronização inicial

Queued initial syncs. de InitialSyncQueue, com attr.numQueued.

Verificação de reinicialização baseada em disco na inicialização

Replication URIs unavailable, skipping disk-based restart check de DefaultConfigManager. Esperado transitoriamente enquanto a replicação está sendo configurada.

desligar

Shutting down. de DefaultConfigManager, no desligamento normal.

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 Beginning initial sync. aparece, embora o cluster tenha coleções indexadas. mongot não atingiu o estágio de sincronização inicial.

Procure erros de autenticação ou URI de replicação no início do log.

Um evento Beginning initial sync. é seguido por um Exception requiring resync ou InitialSyncException. A sincronização começou, mas falhou.

A mensagem Replication URIs unavailable, skipping disk-based restart check se repete além de alguns segundos. mongot está aguardando a configuração mongod.

Verifique o parâmetro mongod mongotHost.

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

Exception requiring resync occurred during steady state replication (SteadyStateException)

mongot perdeu seu lugar no oplog e está sincronizando novamente. Ou o oplog foi substituído, porque o oplog mongod é muito pequeno ou mongot é muito lento, ou ocorreu um erro downstream. Capture os cinco minutos anteriores e posteriores para suporte.

CollectionScan died due to position in capped collection being deleted (CappedPositionLost, error 136)

O oplog foi revertido antes que mongot pudesse alcançar. Aumente o tamanho do oplog mongod, corrija a causa upstream da lentidão mongot ou ambos.

Dropping all pooled connections to <host>:<port> due to ShutdownInProgress

Normal durante mongod reinícios. Ocorrências frequentes e repetidas sem uma reinicialização mongod correspondente indicam um problema de pool de conexões.

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 mongot pode ficar sem memória.

Para mapear esses padrões para procedimentos de remediação, consulte Solucionar problemas de implantações mongot autogerenciadas.

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.

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 mongot com os logs mongod na mesma janela de tempo. Muitos erros mongot estão a jusante dos eventos mongod.

  • 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 ERROR linhas.

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.

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

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.

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

enabled

true

Habilita FTDC. Quando false, mongot não captura dados FTDC.

directorySizeMb

100

Tamanho total máximo, em megabytes, do diretório de arquivo FTDC. Deve ser pelo menos 10 e maior que fileSizeMb.

fileSizeMb

10

Tamanho máximo, em megabytes, de um arquivo de arquivo FTDC individual. Deve ser pelo menos 1 e menos de directorySizeMb.

collectionPeriodMillis

1000

Intervalo, em milissegundos, no qual mongot coleta métricas no FTDC. Deve ser pelo menos 100.

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.

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 mongot que cobre a mesma janela de tempo, mais um buffer de uma hora antes.

  • O arquivo de log mongod no primário cobrindo a mesma janela.

  • A versão mongot, a versão mongod e 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.

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.