La Rotación del registro es el proceso de rotar varios archivos de registro dentro y fuera de uso. simplifica la administración de los sistemas que generar grandes cantidades de archivos de registro. La rotación del registro permite la rotación, compresión y la eliminación y el envío de archivos de registro.
En Edge para la nube privada, algunos de los archivos de registro principales en cada apigee
se configuran con un mecanismo de rotación predeterminado. Por ejemplo, en la
En el componente Message Processor, los siguientes archivos están configurados con una rotación predeterminada
mediante logback:
/opt/apigee/var/log/edge-message-processor/logs/system.log
/opt/apigee/var/log/edge-message-processor/logs/events.log
/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
/opt/apigee/var/log/edge-message-processor/logs/configurations.log
/opt/apigee/var/log/edge-message-processor/logs/transactions.log
Existen archivos similares para otros componentes de edge-*
(cuyos nombres)
comienzan con edge-
), como edge-management-server
,
edge-router
, edge-postgres-server
y edge-qpid-server
.
edge-*
también genera un archivo de registro adicional que se redirecciona
de la consola del componente correspondiente. En el caso del componente Message Processor,
este archivo se llama /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
.
Otros componentes de edge-*
generan un archivo similar. Estos archivos rotación no se realizan por
la biblioteca de logback, sino con logrotate
y crontab
.
Antes de comenzar
- Si no conoces los parámetros de configuración de
logrotate
, lee el logrotate manual. - Si no conoces los parámetros de configuración de
crontab
, lee el manual de crontab.
Habilita las rotaciones de registros
A partir de la versión 4.52 de Edge para la nube privada, cuando instales un edge-*
de Terraform, una entrada crontab
para
la rotación de este registro se crea automáticamente en el crontab
del usuario apigee
. Este trabajo cron se ejecuta cada
y usa la utilidad logrotate
para rotar los registros. Si hay varios edge-*
se instalan en el mismo nodo (por ejemplo, en una instalación todo en uno o si
el router y el procesador de mensajes están instalados en un nodo), cada componente tendrá su propia entrada cron para
rotando los registros respectivos.
Notas:
- Si durante la instalación de un componente
edge-*
, no quieres automáticamente unlogrotate
cronjob, establece la marca “ENABLE_LOGROTATE=n” en el archivo de configuración silencioso que usas para la instalación. Si el trabajo cron no está configurado durante la instalación, puedes configurarlo más adelante siguiendo los pasos para Habilita el cronlogrotate
de un componente. - Para el componente
edge-router
, se agrega un trabajo cronlogrotate
adicional configurado de forma predeterminada. Este cron rota los registros de acceso y errores que genera Nginx.
Los siguientes ejemplos ilustran varios parámetros de configuración y operaciones administrativas que puedes realizar.
Visualiza entradas cron en un nodo
sudo crontab -u apigee -l
Ver la entrada cron logrotate
de un componente
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
Por ejemplo, para ver el cron logrotate
de Edge-message-processor, ejecuta lo siguiente:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Consulta un componente Configuración de logrotate
La configuración logrotate
de un componente se puede encontrar en el archivo
$APIGEE_ROOT/<component>/logrotate/logrotate.conf
Por ejemplo, en el caso de Edge-Message-processor, se puede usar la configuración logrotate
del nodo
se encuentran en $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
.
Habilita el cron logrotate
de un componente
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Por ejemplo, para habilitar el cron logrotate
de Edge-message-processor, ejecuta lo siguiente:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Inhabilitar el cron logrotate
de un componente
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
Por ejemplo, para inhabilitar el cron logrotate
de Edge-message-processor, ejecuta lo siguiente:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
Cambiar el programa cron de un comando logrotate
en particular
En el nodo en el que quieras cambiar el programa cron logrotate
, abre el programa correspondiente
archivo de anulación de configuración del componente. Los archivos de anulación de configuración del componente edge-*
se enumeran en la siguiente tabla:
Componente | Archivo de anulación de configuración |
---|---|
edge-message-processor |
$APIGEE_ROOT/customer/application/message-processor.properties |
edge-management-server |
$APIGEE_ROOT/customer/application/management-server.properties |
edge-router |
$APIGEE_ROOT/customer/application/router.properties |
edge-postgres-server |
$APIGEE_ROOT/customer/application/postgres-server.properties |
edge-qpid-server |
$APIGEE_ROOT/customer/application/qpid-serverproperties |
Abre el archivo de anulación correspondiente y establece la siguiente anulación de configuración. El siguiente ejemplo anula el trabajo cron para que se ejecute al minuto 0 de cada hora.
conf_logrotate_cron_duration=0 * * * *
Para establecer la anulación de configuración, haz lo siguiente:
- Asegúrate de que el usuario
apigee
pueda leer el archivo. - Aplica el programa cron más reciente al componente:
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Por ejemplo, para aplicar un programa cron más reciente al logrotate
de Edge-message-processor, ingresa lo siguiente:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Para verificar que los cambios se aplicaron, comprueba las entradas cron o consulta los archivos
logrotate
entrada cron.
Parámetros de configuración adicionales de logrotate
Al igual que en los pasos enumerados en la sección anterior para modificar el programa cron, puedes modificar configuraciones adicionales. En la siguiente tabla, se describen estas configuraciones:
Configuración | Descripción |
---|---|
conf_logrotate_bin_location |
Ubicación del objeto binario de logrotate. Valor predeterminado: /usr/sbin/logrotate |
conf_logrotate_status_file |
Archivo de estado que captura el estado del tiempo de ejecución de logrotate: el programa tiene permisos de lectura/escritura
para apigee usuario. Predeterminada: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
Qué registros rotar. Puede incluir comodines. Configuración predeterminada:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
Recuento de rotación Configuración predeterminada: “5” |
conf_logrotate_compress |
Establece si se deben comprimir los archivos rotados. Configuración predeterminada: “Comprimir” |
conf_logrotate_compress_type |
Tipo de compresión. Configuración predeterminada: “delaycompress”. Pospone la compresión de el archivo rotado más reciente al siguiente ciclo logrotate. |
conf_logrotate_size |
Límite del tamaño del registro para la rotación. Configuración predeterminada: “10 M” |
Usa tu propio mecanismo de rotación de registros y cron
Si los parámetros de configuración no cumplen con los requisitos para rotar el <component>.log
que proporciona Apigee, usarás tu propio mecanismo de rotación de registros con herramientas como logrotate
y otros. Por ejemplo, los parámetros de configuración que proporciona Apigee te permiten rotar los registros por tamaño, pero
Quieres rotar los registros según fecha/hora u otros factores. En esos casos, deberías
inhabilitar el cron logrotate
que proporciona Apigee y configurar tus propios trabajos cron según sea necesario
Si necesitas consultar la entrada cron de rotación de registros de Apigee, la puedes encontrar en el archivo
$APIGEE_ROOT/
Por ejemplo, en el caso de
edge-message-processor
, este archivo se llama
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
Este archivo
incluye la entrada cron y el comando que ejecuta Apigee para la rotación del registro. Si
quieres usar logrotate
, pero no los parámetros de configuración de Apigee, puedes crear tu
propietario de logrotate
de configuración de Terraform y usar un comando logrotate
similar para realizar la rotación del registro.