Para ayudar a los ingenieros de MongoDB a analizar el comportamiento del servidor, mongodLos mongos procesos y incluyen un mecanismo de Captura de Datos de Diagnóstico a Tiempo Completo (FTDC). FTDC está habilitado de forma predeterminada. Debido a su importancia en la depuración de implementaciones, los fallos de subprocesos de FTDC son fatales y detienen el mongod mongos proceso principal o.
Comportamiento
Nota
Permisos de usuario de FTDC en Windows
En Windows, para recopilar datos del sistema, como disco, CPU y memoria, FTDC requiere permisos de acceso de Microsoft de los siguientes grupos:
Usuarios del monitor de rendimiento
Performance Log Users
Si el usuario que ejecuta mongod y mongos no es administrador, agrégalo a estos grupos para registrar los datos de FTDC. Para obtener más información, consulta el Documentación de Microsoft.
FTDC recopila periódicamente estadísticas producidas por los siguientes comandos:
replSetGetStatus(mongodsolo)collStatspara lalocal.oplog.rscolecciónmongod(solo)connPoolStats(mongossolo)
Dependiendo del sistema operativo del host, los datos de diagnóstico pueden incluir una o más de las siguientes estadísticas de utilización:
Utilización de la CPU
Utilización de memoria
Utilización del disco en relación con el rendimiento. FTDC no incluye datos relacionados con la capacidad de almacenamiento.
Estadísticas de rendimiento de la red. FTDC solo captura metadatos y no captura ni inspecciona ningún paquete de red.
Nota
Si el proceso mongod se ejecuta en un contenedor, FTDC reporta estadísticas de utilización desde la perspectiva del contenedor en lugar del sistema operativo host. Por ejemplo, si el mongod se ejecuta en un contenedor configurado con restricciones de memoria RAM, FTDC calcula la utilización de memoria con relación al límite de RAM del contenedor, en contraposición al límite de RAM del sistema operativo host.
FTDC recopila estadísticas producidas por los siguientes comandos al rotar archivos o iniciar el sistema:
Archivos de datos de FTDC
mongod procesos almacenan archivos de datos FTDC en un directorio diagnostic.data bajo las instancias storage.dbPath. Todos los archivos de datos de diagnóstico se almacenan en este directorio. Por ejemplo, teniendo en cuenta un dbPath de /data/db, el directorio de datos de diagnóstico sería /data/db/diagnostic.data.
mongos los procesos almacenan archivos de datos FTDC en un directorio de diagnóstico relativo a la configuración de ruta de systemLog.path del registro. MongoDB trunca la extensión del archivo de la ruta de registro y concatena diagnostic.data al nombre restante. Por ejemplo, dado un ajuste de path de /var/log/mongodb/mongos.log, el directorio de datos de diagnóstico sería /var/log/mongodb/mongos.diagnostic.data.
FTDC privacidad
Los archivos de datos FTDC están comprimidos y no son legibles para los humanos. Tienen los mismos permisos de acceso a archivos que los archivos de datos de MongoDB. Solo los usuarios con acceso a los archivos de datos FTDC pueden transmitir los datos FTDC.
Los ingenieros de MongoDB no pueden acceder a los datos FTDC sin el permiso expreso y la asistencia de los propietarios u operadores del sistema.
Los datos de FTDC nunca contienen ninguna de las siguientes informaciones:
Muestras de consultas, predicados de consultas o resultados de consultas
Datos muestreados de cualquier colección o índice de usuarios finales
Credenciales de usuario del sistema o de MongoDB o certificados de seguridad
Los datos de FTDC contienen cierta información de la computadora host, como nombres de host, información del sistema operativo y las opciones o configuraciones utilizadas para iniciar el mongod o mongos. Esta información puede considerarse protegida o confidencial por algunas organizaciones o entidades reguladoras. En clústeres donde estos campos están configurados con data protegida, confidencial o PII, notifica al equipo de MongoDB antes de enviar los datos FTDC para coordinar medidas de seguridad adecuadas.
Detalles
Puedes ver el código fuente de FTDC en el Repositorio Github de MongoDB. Los archivos ftdc_system_stats_*.ccp definen específicamente cualquier dato de diagnóstico específico del sistema capturado.
FTDC por defecto
FTDC se ejecuta con los siguientes valores por defecto:
Captura de datos cada 1 segundo
Tamaño máximo de carpeta
diagnostic.data: 250 MB (500 MB para clústeres fragmentados).Modificado en la 8.0.10 versión: El valor predeterminado aumentó de 200 MB (400 MB para clústeres fragmentados).
Estos valores predeterminados proporcionan datos útiles a los ingenieros de MongoDB con un impacto mínimo en el rendimiento o el tamaño del almacenamiento. Modifique estos valores solo si los ingenieros de MongoDB lo solicitan para fines de diagnóstico específicos.
Importante
MongoDB sobrescribe los datos antiguos a medida que la carpeta se acerca a su límite de tamaño. Para garantizar que se conserve la información de diagnóstico crítica, capture el directorio diagnostic.data en el momento del incidente. Una vez que MongoDB elimina los datos de FTDC, estos ya no están disponibles para el análisis de diagnóstico.
Retención de datos en entornos locales
MongoDB almacena los datos FTDC únicamente en el host local. No se pueden utilizar los datos FTDC reenviados por OTel u otros sistemas de envío de registros con fines de diagnóstico.
En entornos locales que utilizan almacenamiento efímero o herramientas de automatización como Terraform, los datos de FTDC se pierden cuando se termina o se reconstruye un host. Para mejorar la disponibilidad de los datos de FTDC para investigaciones de diagnóstico, considere una o ambas de las siguientes acciones:
Almacene el directorio
diagnostic.dataen almacenamiento persistente.Copia periódicamente el directorio
diagnostic.dataa una ubicación externa persistente.
Los ingenieros de MongoDB confían en los datos de FTDC para realizar diagnósticos precisos.
Desactivar FTDC
Advertencia
No se recomienda para entornos de producción.
Para deshabilitar FTDC, inicie mongod o con mongos la diagnosticDataCollectionEnabled: false opción en la configuración de su archivo de setParameter configuración:
setParameter: diagnosticDataCollectionEnabled: false
Deshabilitar FTDC puede aumentar el tiempo o los recursos necesarios al analizar o depurar problemas con el soporte de los ingenieros de MongoDB. Para obtener información sobre el Soporte de MongoDB, visita Comienza con el Soporte de MongoDB.