Habilita la rotación de registros para los componentes de Edge

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.

Cada uno de estos componentes de 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 un logrotate 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 cron logrotate de un componente.
  • Para el componente edge-router, se agrega un trabajo cron logrotate 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:

  1. Asegúrate de que el usuario apigee pueda leer el archivo.
  2. 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//logrotate/logrotate.cron 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.