Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / /

Configuración de rotación de registros CRD de MongoDB

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: MongoDB CRD

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 stdout (registros de kubectl). Gestionado y almacenado en el plano de control de Kubernetes.

Base de datos de la aplicación

Registros de auditoría

Gerente de Operaciones

Registros de Ops Manager

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.

Puede configurar los registros del agente de automatización de MongoDB en el manifiesto de MongoDB CRD en spec.agent.startupOptions.

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

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.

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

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

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

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

Para gestionar y rotar Ops Manager, puedes anular manualmente el StatefulSet o usar la configuración del CRD.

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.

1

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.

2

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
3

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
4

Si utiliza una implementación multi-clúster de Ops Manager, asegúrese de replicar el logback-config ConfigMap en todos los clústeres miembros.

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.

1

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.

2

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.

3

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
4

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.

Volver

Ciclo de vida de soporte

En esta página