Puedes configurar los ajustes de rotación de registros para CustomResourceDefinitions en el MongoDB and MongoDB Ops Manager CRD manifiestos.
La siguiente tabla resume los campos de configuración de registro que se pueden definir en los manifiestos MongoDB CRD y dónde se pueden definir o acceder en otros lugares si se decide no configurarlos directamente desde los manifiestos CRD.
Componente | Tipo de registro | Configuración del manifiesto CRD | Ubicación de la configuración por defecto |
|---|---|---|---|
MongoDB | Registros de agentes de automatización | ||
MongoDB | Registros del agente de supervisión | API o Interfaz de Usuario de Ops Manager | |
MongoDB | Registros de copia de seguridad | API o Interfaz de Usuario de Ops Manager | |
MongoDB | Registros de MongoDB | Ops Manager 7.0.4, 6.0.24, o posterior: | Interfaz de usuario de Ops Manager |
MongoDB | Registros de auditoría | Interfaz de usuario de Ops Manager | |
MongoDB | Prueba de preparación | ||
Base de datos de la aplicación | MongoDB Registros | ||
Base de datos de la aplicación | Registros de agentes de automatización | ||
Base de datos de la aplicación | Registros del agente de supervisión | Reenviado solo a | |
Base de datos de la aplicación | Registros de auditoría | ||
Gerente de Operaciones | Registros de Ops Manager |
Rotación de registros de MongoDB
Nota
Para Ops Manager 6, solo puedes configurar registros de mongod con este ajuste comenzando con la versión 6.0.2. Para Ops Manager 7, solo puedes configurar los registros mongod con esta configuración a partir de la versión 7.0.4. Para versiones anteriores de Ops Manager, debes usar la interfaz de usuario de Ops Manager para configurar los registros de mongod.
Puedes configurar la rotación de un registro en el CRD de MongoDB, como se muestra en el siguiente manifiesto de ejemplo.
Consulte la tabla de comparación anterior para obtener más información sobre cómo configurar la rotación de otros registros específicos de MongoDB.
Registros de agentes de automatización
Puede configurar los registros del agente de automatización de MongoDB en el manifiesto de MongoDB CRD en spec.agent.startupOptions.
Ejemplo de manifiesto
Nota
Para clústeres particionados, solo se puede configurar la rotación de registros en el nivel spec.agent. No se admite la configuración de la rotación de registros en niveles subespecíficos como spec.configsrv.agent o spec.shardsvr.agent.
apiVersion: mongodb.com/v1 kind: MongoDB metadata: name: log-rotate namespace: mongodb spec: podSpec: podTemplate: spec: containers: - name: mongodb-enterprise-database env: - name: READINESS_PROBE_LOGGER_MAX_SIZE value: "50" version: 8.0.0 opsManager: configMapRef: name: my-project credentials: my-credentials type: Standalone persistent: false # https://docs.opsmanager.mongodb.com/current/reference/mongodb-agent-settings/ agent: startupOptions: maxLogFiles: 10 maxLogFileSize: 2 readinessProbe: environmentVariables: READINESS_PROBE_LOGGER_MAX_SIZE: 10 READINESS_PROBE_LOGGER_BACKUPS: 1 READINESS_PROBE_LOGGER_MAX_AGE: 3 READINESS_PROBE_LOGGER_COMPRESS: true MDB_WITH_AGENT_FILE_LOGGING: false LOG_FILE_PATH: /var/log/mongodb-mms-automation/readiness.log backupAgent: logRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 monitoringAgent: logRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 # For Ops Manager 6, you can only configure mongod logs with this setting starting with version 6.0.2. # For Ops Manager 7, you can only configure mongod logs with this setting starting with version 7.0.4. # For previous Ops Manager versions, you must configure mongod logs using the Ops Manager UI. mongod: logRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 numUncompressed: 10 numTotal: 10 percentOfDiskspace: 10 auditlogRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 numUncompressed: 10 numTotal: 10 percentOfDiskspace: 10
Rotación de registros de la base de datos de aplicaciones
Puede configurar la rotación de los siguientes registros en el MongoDBOpsManager CRD, como se muestra en el siguiente manifiesto de ejemplo. Consulta la tabla anterior para obtener más información sobre la configuración de la rotación de otros registros específicos de la base de datos de la aplicación.
MongoDB Registros
Puede configurar la rotación de registros de MongoDB en la base de datos de la aplicación en el MongoDBOpsManager manifiesto,spec.applicationDatabase.agent.<component>.logRotate en. De forma predeterminada, MongoDB comprime los archivos de registro más allá de los dos registros más recientes.
- registro:
/var/log/mongodb-mms-automation/mongodb.log
Registros de agentes de automatización
Puedes configurar la rotación de registros del Agente de Automatización de Bases de Datos de la Aplicación en el manifiesto MongoDBOpsManager bajo spec.applicationDatabase.agent.startupOptions.
- registro:
/var/log/mongodb-mms-automation/automation-agent-stderr.log/var/log/mongodb-mms-automation/automation-agent-verbose.log/var/log/mongodb-mms-automation/automation-agent.log
Registros de auditoría
Puede configurar la rotación del registro de auditoría de la base de datos de aplicaciones en el manifiesto de MongoDBOpsManager en spec.applicationDatabase.agent.mongod.auditlogRotate.
Nota
La configuración de auditLogRotate depende de la configuración de logRotate. Para que auditLogRotate surta efecto, también debes configurar logRotate.
- registro:
/var/log/mongodb-mms-automation/mongodb-audit.log
Ejemplo de manifiesto
apiVersion: mongodb.com/v1 kind: MongoDBOpsManager metadata: name: ops-manager namespace: mongodb spec: replicas: 1 version: 8.0.0 adminCredentials: ops-manager-admin-secret applicationDatabase: version: "8.0.0" members: 3 agent: #agent.logRotate is deprecated and overwritten by agent.mongod.logRotate. logRotate: #Automation Agent log rotation startupOptions: maxLogFiles: 10 maxLogFileSize: 2 #Readiness probe log rotation readinessProbe: environmentVariables: READINESS_PROBE_LOGGER_MAX_SIZE: 10 READINESS_PROBE_LOGGER_BACKUPS: 1 READINESS_PROBE_LOGGER_MAX_AGE: 3 READINESS_PROBE_LOGGER_COMPRESS: true MDB_WITH_AGENT_FILE_LOGGING: false LOG_FILE_PATH: /var/log/mongodb-mms-automation/readiness.log #AppDB backup log rotation backupAgent: logRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 #AppDB Monitoring Agent log rotation monitoringAgent: logRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 #AppDB (mongod) log rotation mongod: logRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 numUncompressed: 10 numTotal: 10 percentOfDiskspace: 10 auditlogRotate: sizeThresholdMB: "10" timeThresholdHrs: 10 numUncompressed: 10 numTotal: 10 percentOfDiskspace: 10
Rotación de registros en Ops Manager
Para gestionar y rotar Ops Manager, puedes anular manualmente el StatefulSet o usar la configuración del CRD.
Configurar los registros de Ops Manager con StatefulSet
Para gestionar y rotar los registros de Ops Manager, puedes anular manualmente la configuración de registro por defecto utilizando un ConfigMap y una anulación de StatefulSet. Este proceso implica crear un archivo de configuración personalizado de logback.xml y aplicarlo a tus Pods de Ops Manager.
Cree el logback.xml archivo de configuración personalizado.
Puede recuperar el logback.xml existente para usarlo como plantilla ejecutando el siguiente comando:
kubectl cp om-pod-spec-0:/mongodb-ops-manager/conf/logback.xml ~/Downloads/logback-confs/logback.xml
Para obtener más información sobre cómo crear un logback.xml personalizado, consulte Cambiar la política de rotación de registros de Ops Manager.
Crear un ConfigMap a partir del Custom logback.xml.
Asegúrate de que la clave en el ConfigMap sea exactamente el nombre del archivo que deseas reemplazar, para que la ruta de montaje y la subruta solo sobrescriban un archivo y no todo el directorio. En este ejemplo, el nombre de archivo es logback.xml:
kubectl create configmap logback-config --from-file=logback.xml=path/to/your/custom_logback.xml
Anule la configuración de StatefulSet.
Usa la función de anulación de StatefulSet para montar el logback.xml personalizado en tus pods de Ops Manager. Agrega lo siguiente a tu configuración de StatefulSet:
Nota
El key en el siguiente ConfigMap es logback.xml de manera predeterminada para garantizar que reemplace correctamente el archivo predeterminado con el mismo nombre.
spec: template: spec: volumes: - name: logback-volume configMap: name: logback-config items: - key: logback.xml path: logback.xml containers: - name: mongodb-ops-manager volumeMounts: - name: logback-volume mountPath: /mongodb-ops-manager/conf-template/logback.xml subPath: logback.xml
Configurar los registros de Ops Manager con el CRD
También puedes gestionar la rotación de logs de Ops Manager usando los siguientes ajustes CRD, lo que simplifica el proceso de rotación de logs al enlazarlos directamente al ConfigMap en el siguiente CRD.
Cree el logback.xml archivo de configuración personalizado.
Puede recuperar el logback.xml existente para usarlo como plantilla ejecutando el siguiente comando:
kubectl cp om-pod-spec-0:/mongodb-ops-manager/conf/logback.xml ~/Downloads/logback-confs/logback.xml
Para obtener más información sobre cómo crear un logback.xml personalizado, consulte Cambiar la política de rotación de registros de Ops Manager.
(Opcional) Crear un archivo de configuración personalizada de logback-access.xml.
Utilice el archivo logback-access.xml para configurar el registro de solicitudes de acceso HTTP, como las gestionadas por un servidor web. Si desea personalizar la gestión de estos registros de acceso, puede crear un archivo logback-access.xml personalizado similar al logback.xml.
Recupera el logback-access.xml existente para usarlo como plantilla ejecutando el siguiente comando:
kubectl cp om-pod-spec-0:/mongodb-ops-manager/conf/logback-access.xml ~/Downloads/logback-confs/logback-access.xml
Modifica este archivo según tus requisitos de registro.
Cree un ConfigMap a partir de los logback.xml y logback-access.xml personalizados.
Asegúrate de que la clave en el ConfigMap sea exactamente el nombre del archivo que deseas reemplazar, para que la ruta de montaje y la subruta solo sobrescriban un archivo y no todo el directorio. Los siguientes ejemplos utilizan los nombres de archivo por defecto, logback.xml y logback-access.xml:
kubectl create configmap logback-config --from-file=logback.xml=path/to/your/custom_logback.xml
kubectl create configmap logback-access-config --from-file=logback-access.xml=path/to/your/custom_access_logback.xml
Configuración de las propiedades de registro de CRD.
Agregue las siguientes configuraciones a su CRD de Ops Manager:
Nota
Los nombres de archivo logback.xml y logback-access.xml son los nombres de archivo por defecto y deben ser las claves del ConfigMap para que el Operador de Kubernetes los reconozca.
Por ejemplo:
apiVersion: mongodb.com/v1 kind: MongoDBOpsManager metadata: name: ops-manager namespace: mongodb spec: replicas: 1 version: 8.0.0 adminCredentials: ops-manager-admin-secret logging: LogBackAccessRef: name: logback-access-config LogBackRef: name: logback-config backup: enabled: true logging: LogBackAccessRef: name: my-logback-access-cm-backup LogBackRef: name: my-logback-cm-backup
El operador de Kubernetes genera automáticamente los montajes de volumen similares al ejemplo anterior y vincula los archivos ConfigMap a las ubicaciones correctas en los pods de Ops Manager.