Definición
logRotateEl comando
logRotatees un comando administrativo que permite rotar el registro del servidor MongoDB y/o el registro de auditorÃa para evitar que un solo archivo de registro consuma demasiado espacio en disco.Debe ejecutar el comando
logRotatecontra la 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 la compatibilidad de Atlas con todos los comandos, consulte 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 puedes intercambiar los registros enviando una señal SIGUSR1 al proceso mongod.
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 estar ejecutándose con la opción--logpath [file]para poder usarlogRotate.La auditorÃa debe estar activada para rotar el registro de auditorÃa.
Comportamiento
La configuración systemLog.logRotate o la opción --logRotate especifican el comportamiento de logRotate.
Cuando systemLog.logRotate o --logRotate se establecen en rename, logRotate renombra el archivo de registro existente agregando la marca de tiempo actual al nombre del archivo. La marca de tiempo agregada tiene el siguiente formato:
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
Luego,logRotate crea un nuevo archivo de registro con el mismo nombre que el especificado originalmente por la configuración systemLog.path a mongod o mongos.
Cuando systemLog.logRotate o --logRotate se establecen en reopen, logRotate sigue el comportamiento tÃpico de Linux/Unix y simplemente cierra el archivo de registro y luego vuelve a abrir un archivo 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 dé como resultado 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" } )