Definición
logRotateLa
logRotateEl comando es un comando administrativo que permite rotar el registro del servidor de MongoDB y/o el registro de auditar para evitar que un solo archivo de registro consuma demasiado espacio en disco.Debe emitir el comando
logRotatecontra el base de datos de administración.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
Sintaxis
El comando tiene la siguiente sintaxis:
db.adminCommand( { logRotate: <integer or string>, comment: <string> } )
Campos de comandos
El comando toma los siguientes campos:
Campo | Tipo | Descripción |
|---|---|---|
| entero o cadena de texto | El registro o los registros a rotar, según lo siguiente:
|
| string | opcional. Un mensaje registrado por el servidor en la entrada de registro y el archivo de auditar en el momento de la rotación del registro. |
También puede rotar los registros enviando una SIGUSR1 señal al mongod proceso.
Por ejemplo, si una instancia de mongod en ejecución tiene un ID de proceso (PID) de 2200, el siguiente comando rota la entrada de registro de esa instancia en Linux:
kill -SIGUSR1 2200
Limitaciones
Su instancia
mongoddebe funcionar con la opción--logpath [file]para poder utilizarlogRotateLa auditoría debe estar habilitada para rotar el registro de auditoría.
Comportamiento
La systemLog.logRotate configuración u opción --logRotate especifica el comportamiento de logRotate.
Cuando systemLog.logRotate o --logRotate se establecen en rename, logRotate renombra la entrada de registro existente añadiendo la marca de tiempo actual al nombre del archivo. La marca de tiempo adjunta tiene la siguiente forma:
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
Luego, logRotatecrea un nuevo archivo de registro con el mismo nombre que el especificado originalmente por la configuraciónsystemLog.pathenmongodomongos.
Cuando systemLog.logRotate o --logRotate se configuran en reopen, logRotate sigue el comportamiento típico de Linux/Unix, y simplemente cierra la entrada de registro y luego reabre una entrada de registro con el mismo nombre. Con reopen, mongod espera que otro proceso cambie el nombre del archivo antes de la rotación, y que la reapertura resulte en la creación de un nuevo archivo.
Ejemplos
El siguiente ejemplo rota tanto el registro del servidor como el registro de auditoría:
db.adminCommand( { logRotate: 1 } )
El siguiente ejemplo rota solo el registro de auditoría y proporciona un mensaje personalizado a la entrada de registro en el momento de la rotación:
db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )