La rotación de registros, el proceso de rotar varios archivos de registro hacia adentro y fuera de su uso, simplifica la administración de sistemas que generan una gran cantidad de archivos de registro. La rotación de registros permite la rotación, compresión, eliminación y envío automáticos de los archivos de registro.
En Edge para nube privada, algunos de los archivos de registro principales en cada componente apigee
se configuran con un mecanismo de rotación predeterminado. Por ejemplo, en el
componente de Message Processor, los siguientes archivos se configuran con un mecanismo de rotación
predeterminado que usa 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 es un resultado redireccionado de la consola del componente correspondiente. En el caso del componente de 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. La biblioteca de Logback no realiza la rotación de estos archivos, sino mediante logrotate
y crontab
.
Antes de comenzar
- Si no estás familiarizado con la configuración de
logrotate
, lee el manual de logrotate. - Si no estás familiarizado con la configuración de
crontab
, lee el manual de crontab.
Habilitar rotaciones de registros
A partir de la versión 4.52 de Edge para nube privada, cuando instalas un componente edge-*
, se crea de forma automática una entrada crontab
para rotar este registro en el crontab
del usuario apigee
. Este trabajo cron se ejecuta cada hora de forma predeterminada y usa la utilidad logrotate
para rotar los registros. Si se instalan varios componentes edge-*
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 rotar sus registros respectivos.
Notas:
- Si durante la instalación de un componente
edge-*
no quieres configurar automáticamente un trabajo cronlogrotate
, configura la marca “ENABLE_LOGROTATE=n” en el archivo de configuración silencioso que usas para la instalación. Si el trabajo cron no se configura durante la instalación, puedes configurarlo más tarde si sigues los pasos para habilitar el cron delogrotate
de un componente. - Para el componente
edge-router
, también se configura un trabajo cronlogrotate
adicional de forma predeterminada. Este cron rota el acceso y los registros de errores que genera Nginx.
En los siguientes ejemplos, se ilustran varias configuraciones y operaciones administrativas que puedes realizar.
Visualiza las entradas cron en un nodo
sudo crontab -u apigee -l
Visualiza la entrada cron logrotate
de un componente
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
Por ejemplo, para ver el cron de logrotate
de Edge-message-processor, ejecuta el siguiente comando:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Ver la configuración de logrotate
de un componente
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, la configuración logrotate
del nodo se puede encontrar en $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
.
Habilitar el cron de logrotate
de un componente
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Por ejemplo, para habilitar el cron de logrotate
de Edge-message-processor, ejecuta el siguiente comando:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Inhabilita el cron logrotate
de un componente
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
Por ejemplo, para inhabilitar el cron de logrotate
de Edge-message-processor, ejecuta el siguiente comando:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
Cambia el programa cron de un comando logrotate
específico
En el nodo en el que deseas cambiar el programa cron logrotate
, abre el archivo de anulación de configuración del componente correspondiente. Los archivos de anulación de configuración del componente edge-*
se enumeran en la siguiente tabla:
Componente | Archivo de anulación de la 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 adecuado y establece la siguiente anulación de configuración. En el siguiente ejemplo, se anula el trabajo cron para que se ejecute en el minuto 0 de cada hora.
conf_logrotate_cron_duration=0 * * * *
Para establecer la anulación de la configuración, sigue estos pasos:
- 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 la programación 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 se aplicaron los cambios, revisa las entradas cron o consulta la entrada cron logrotate
del componente.
Parámetros de configuración adicionales de logrotate
Al igual que los pasos que se mencionan en la sección anterior para modificar el programa cron, también 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 logrotate. Valor predeterminado: /usr/sbin/logrotate |
conf_logrotate_status_file |
Archivo de estado que captura el estado del entorno de ejecución de logrotate: muestra permisos de lectura y escritura para el usuario apigee . 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 |
Cantidad de rotaciones. Configuración predeterminada: “5”. |
conf_logrotate_compress |
Indica si se deben comprimir los archivos rotados. Configuración predeterminada: “compress” |
conf_logrotate_compress_type |
Tipo de compresión Valor predeterminado: “delaycompress”. Pospón la compresión del último archivo rotado al siguiente ciclo de logrotate. |
conf_logrotate_size |
Límite de tamaño del registro para la rotación. Valor predeterminado: “10M” |
Usa tu propio mecanismo de rotación de registros y cron
Si la configuración proporcionada por Apigee no cumple tus requisitos para rotar el <component>.log, debes usar tu propio mecanismo de rotación de registros con herramientas como logrotate
y otras. Por ejemplo, las opciones de configuración que proporciona Apigee te permiten rotar los registros por tamaño, pero deseas hacerlo en función de la fecha, la hora y otros factores. En esos casos, debes 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, puedes encontrarla 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
. En este archivo, se incluye la entrada cron y el comando que ejecuta Apigee para la rotación de registros. Si deseas usar logrotate
, pero no los archivos de configuración de Apigee, puedes crear tu propio archivo de configuración logrotate
y usar un comando logrotate
similar para realizar la rotación del registro.