Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Registros de mongot y FTDC

mongot expone dos superficies de diagnóstico en el host que le ayudan a diagnosticar problemas con MongoDB Search y MongoDB búsqueda vectorial:

  • Registros: el registro legible de la actividad de mongot, incluidas las advertencias y los errores.

  • FTDC (captura de datos de diagnóstico a tiempo completo): el flujo de diagnóstico binario que captura el estado interno detallado cada segundo, destinado a la transferencia de soporte.

Utilice registros para investigar incidentes y capture ambas superficies cuando prepare un caso de soporte de MongoDB.

mongot los registros registran la actividad del proceso, incluidas las advertencias y los errores. Utilice los registros para verificar que la empresa emergente se complete, supervise el estado estable e investigue las fallas.

El lugar donde mongot guarda los registros depende del tipo de implementación:

Tipo de implementación
Destino por defecto

Linux tarball

stdout y stderr, o un archivo si establece logging.logPath en la configuración YAML de mongot.

contenedor

stdout y stderr. Recupere registros con docker logs <container>.

atlas-local

stdout y stderr dentro del contenedor. Recupere registros con docker logs.

Operador de Kubernetes

stdout y stderr del pod. Recupera los registros con kubectl logs <pod> y reenvíalos a la plataforma de registros de tu clúster.

La opción logging.verbosity especificada en su archivo de configuración mongot acepta los siguientes niveles:

Nivel
Cuándo usar

DEBUG

Cuando investiga un error específico. Mantenga este nivel activado durante horas, no días.

ERROR

Rara vez es apropiado para la producción, ya que se pierde el contexto de los problemas de WARN.

INFO

por defecto. Adecuado para producción.

TRACE

Solo para ingeniería y soporte técnico. Muy detallado.

WARN

Cuando necesite reducir el volumen de registro y tener alertas separadas sobre errores.

mongot lee el nivel de verbosidad al iniciar. Para cambiarlo, reinicie mongot.

mongot emite registros JSON estructurados, con un objeto JSON por línea. Este formato alinea los registros mongot con el formato de registro estructurado mongod.

Cada entrada de registro mongot incluye campos como t, s, svc, ctx, n, msg y attr opcional. Por ejemplo:

{"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 registro contiene los siguientes campos:

Campo
Descripción

t

Marca de tiempo, en formato UTC e ISO-8601.

s

Gravedad. Uno de TRACE, DEBUG, INFO, WARN o ERROR.

svc

Servicio que emitió la entrada, como MONGOT.

ctx

Contexto de ejecución, como el nombre del hilo o de la tarea.

n

Nombre del registrador.

msg

Mensaje legible por humanos.

attr

Atributos estructurados específicos del evento opcionales, como startTime, numQueued y indexGenerationId. mongot omite los valores nulos y vacíos.

Una empresa emergente mongot saludable emite una secuencia de eventos identificables en el nivel de verbosidad INFO por defecto. Busque estos eventos en lugar de cadenas literales específicas:

Evento
Texto del mensaje

La sincronización inicial comienza para un índice

Beginning initial sync. de BufferlessInitialSyncManager, con attr.startTime y attr.indexGenerationId.

Actividad de la cola de sincronización inicial

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

Comprobación de reinicio basada en disco al inicio

Replication URIs unavailable, skipping disk-based restart check de DefaultConfigManager. Se espera transitoriamente mientras la replicación se está conectando.

shutdown

Shutting down. de DefaultConfigManager, en un apagado correcto.

Existen líneas de información adicionales en el inicio. Los eventos anteriores son los que soportan la carga para la verificación.

Los siguientes indicadores muestran que la empresa emergente no se completó:

Indicador
Acción

No aparece ningún evento Beginning initial sync. a pesar de que el clúster tiene colecciones indexadas. mongot no ha alcanzado la etapa de sincronización inicial.

Busque antes en el registro errores de autenticación o URI de replicación.

Un evento Beginning initial sync. es seguido por un Exception requiring resync o InitialSyncException. Sincronización iniciada pero fallida.

El mensaje Replication URIs unavailable, skipping disk-based restart check se repite más allá de unos pocos segundos. mongot está esperando la configuración de mongod.

Compruebe el parámetro mongod mongotHost.

En estado estable, los registros saludables son en su mayoría silenciosos. Espere mensajes informativos periódicos de tareas en segundo plano, como fusiones y tics de FTDC, y entradas WARN ocasionales para el comportamiento transitorio del cliente. No espere entradas ERROR o Exception.

Los siguientes patrones de registro de estado estable requieren atención:

Patrón
Significado

Exception requiring resync occurred during steady state replication (SteadyStateException)

mongot perdió su lugar en el oplog y se está volviendo a sincronizar. El oplog se ha reiniciado, ya sea porque el oplog mongod es demasiado pequeño o mongot es demasiado lento, o se ha producido un error posterior. Capture los cinco minutos circundantes para obtener soporte.

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

El oplog se transfirió antes de que mongot pudiera ponerse al día. Aumente el tamaño del oplog mongod, corrija la causa ascendente de la lentitud de mongot o ambas cosas.

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

Normal durante los reinicios de mongod. Las ocurrencias frecuentes y repetidas sin un reinicio de mongod correspondiente indican un problema de pool de conexiones.

Explosión de mapeo de documentos

Un índice encontró un documento con demasiados campos, a menudo porque la asignación dinámica está activada y un documento tiene claves arbitrarias. El índice podría detenerse o mongot podría quedarse sin memoria.

Para asignar estos patrones a los procedimientos de corrección, consulte Solución de problemas de implementaciones de mongot autogestionadas.

Dado que los registros de mongot son JSON, jq es la herramienta más natural para buscarlos. Los siguientes ejemplos muestran query comunes:

# 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

Dado que el JSON es de una sola línea, grep también funciona:

grep '"s":"ERROR"' mongot.log
grep '"msg":"Beginning initial sync\.' mongot.log
grep -E '"n":"[^"]*(BufferlessInitialSyncManager|InitialSyncQueue)' mongot.log

Para plataformas de registro como Elasticsearch, Splunk y Datadog, filtre por s:ERROR, n:<logger> o attr.<key> en lugar de texto. Los campos son estables, pero los patrones de texto completo pueden moverse entre versiones.

Para las implementaciones que ejecutan varias instancias de mongot, incluya el identificador de instancia en las etiquetas de reenvío de registros para poder filtrar por instancia.

Tenga en cuenta los siguientes puntos al analizar los registros de mongot:

  • Los registros no siempre incluyen el nombre del índice en el mensaje. Para errores de indexación, la línea de registro relevante podría aparecer varias líneas antes o después en el mismo contexto de registrador. Capture una ventana, no una sola línea.

  • Cruce los registros de mongot con los registros de mongod en la misma ventana de tiempo. Muchos errores de mongot son posteriores a los eventos de mongod.

  • Si abre un caso de soporte de MongoDB, envíe la entrada de registro completa o una ventana de tiempo amplia, en lugar de un conjunto filtrado de ERROR líneas.

FTDC es una secuencia de diagnóstico binaria que captura el estado interno detallado cada segundo en el disco. FTDC es el artefacto canónico que los equipos de servicios técnicos de MongoDB utilizan para diagnosticar problemas de mongot.

Las muestras de FTDC incluyen datos de las mismas categorías que las métricas de Prometheus, además del estado interno que mongot no expone externamente:

  • Estado del proceso y de la JVM, incluidos el montón, la recolección de elementos no utilizados y los subprocesos

  • Estadísticas de indexación por índice

  • Latencias de query por operador

  • Estado de replicación y posición del oplog

  • Estado del pool del ejecutor

  • Estado de fusión y caché de Lucene

  • Configuración y eventos del ciclo de vida

  • Estado del pool de conexiones

Por defecto, mongot guarda los archivos FTDC en <storage.dataPath>/diagnostic.data/, la misma convención que mongod utiliza con <storage.dbPath>/diagnostic.data/.

Para una instancia mongot con storage.dataPath establecido en /var/lib/mongot, los archivos FTDC se encuentran en /var/lib/mongot/diagnostic.data/.

mongot nombra archivos con marcas de tiempo y los rota automáticamente. Los tamaños de archivo suelen ser:

  • Unos pocos cientos de KB por archivo

  • Varios archivos por hora bajo carga

  • Aproximadamente 1 GB por día por instancia de mongot, según la carga

El tamaño total del directorio de ficheros FTDC en el disco está limitado por advancedConfigs.ftdc.directorySizeMb.

Importante

mongot gira los archivos FTDC automáticamente. No elimine los archivos FTDC manualmente durante un incidente. Los equipos de soporte de MongoDB solicitan archivos FTDC al diagnosticar problemas.

FTDC está habilitado por defecto. Para anular los valores por defecto, establezca las siguientes opciones en el bloque advancedConfigs.ftdc de la configuración YAML mongot:

Opción
predeterminado
Descripción

enabled

true

Habilita FTDC. Cuando false, mongot no captura datos FTDC.

directorySizeMb

100

Tamaño total máximo, en megabytes, del directorio de ficheros FTDC. Debe ser al menos 10 y mayor que fileSizeMb.

fileSizeMb

10

Tamaño máximo, en megabytes, de un archivo de fichero FTDC individual. Debe ser al menos 1 y menos de directorySizeMb.

collectionPeriodMillis

1000

Intervalo, en milisegundos, en el que mongot recopila métricas en FTDC. Debe ser al menos 100.

Para la mayoría de las implementaciones, los valores por defecto son apropiados. Anúlelos solo si tiene un requisito específico de uso de disco. Para obtener más información sobre estas configuraciones, consulte Configuración avanzada de FTDC.

Cuando abra un caso con el soporte de MongoDB, envíe todo el directorio de diagnostic.data/ de la instancia de mongot afectada, que cubra el período del problema. Agrupe y comprima el directorio.

Para una implementación de tarball de Linux, agrupe el directorio:

tar -czf mongot-ftdc-$(hostname)-$(date -u +%Y%m%dT%H%M%S).tar.gz <dataPath>/diagnostic.data/

Para una implementación de contenedor, primero copie el directorio fuera del contenedor:

docker cp <container>:/<dataPath>/diagnostic.data ./mongot-ftdc
tar -czf mongot-ftdc.tar.gz ./mongot-ftdc

Para una implementación de Kubernetes operador, primero copie el directorio fuera del pod:

kubectl cp <namespace>/<pod>:<dataPath>/diagnostic.data ./mongot-ftdc
tar -czf mongot-ftdc.tar.gz ./mongot-ftdc

Incluya lo siguiente en el caso de soporte:

  • El paquete FTDC.

  • El archivo de registro de mongot que cubre la misma ventana de tiempo, más un búfer de una hora antes.

  • El archivo de registro mongod en el primario que cubre la misma ventana.

  • La versión mongot, la versión mongod y la versión del operador de Kubernetes, si corresponde.

  • Una marca de tiempo de cuándo observó por primera vez el problema.

  • Una descripción de lo que cambió en la implementación en ese momento, como la configuración, el tráfico o las actualizaciones.

FTDC contiene métricas operativas y estado interno, no datos de documentos sin procesar ni string del query de usuario. Por lo general, FTDC se puede enviar a MongoDB Support de forma segura sin necesidad de desinfección. Si su política de cumplimiento es más estricta, revise los campos capturados con su equipo de seguridad antes de enviarlos.

Lo mismo no ocurre con los registros. Las líneas de registro pueden incluir texto de query, identificadores de documentos u otros datos de nivel de aplicación, según el nivel de registro. Revise las entradas de registro antes de enviarlos en entornos de cumplimiento restrictivos.