Ativar a rotação de registros para componentes do Edge

Rotação de registro, o processo de alternar vários arquivos de registro para dentro e para fora de uso, simplifica a administração de sistemas que geram um grande número de arquivos de registros. A rotação de registros permite a rotação, compactação, remoção e envio por correio automáticos dos arquivos de registros.

No Edge para nuvem privada, alguns dos principais arquivos de registros em cada componente apigee são configurados com um mecanismo de rotação padrão. Por exemplo, no componente Message Processor, os seguintes arquivos são configurados com um mecanismo de rotação padrão usando 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

Existem arquivos semelhantes para outros componentes edge-* (com nomes que começam com edge-), como edge-management-server, edge-router, edge-postgres-server e edge-qpid-server.

Cada um desses componentes edge-* também gera um arquivo de registro extra que é uma saída redirecionada do console do respectivo componente. No caso do componente do processador de mensagens, esse arquivo é chamado de /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Outros componentes edge-* geram um arquivo semelhante. A rotação desses arquivos não é feita pela biblioteca de logback, mas pelo uso de logrotate e crontab.

Antes de começar

Ativar rotações de registro

A partir da versão 4.52 do Edge para nuvem privada, quando você instalar um componente edge-*, uma entrada crontab para alternar esse registro será criada automaticamente no crontab do usuário apigee. Por padrão, esse cron job é executado a cada hora e usa o utilitário logrotate para alternar os registros. Se vários componentes edge-* forem instalados no mesmo nó (por exemplo, em uma instalação completa ou se o roteador e o processador de mensagens estiverem instalados em um nó), cada componente vai ter a própria entrada cron para rotacionar os respectivos registros.

Notes:

  • Se, durante a instalação de um componente edge-*, você não quiser configurar automaticamente um cronjob logrotate, defina a sinalização "ENABLE_LOGROTATE=n" no arquivo de configuração silencioso usado para instalação. Se o cron job não for definido durante a instalação, configure-o mais tarde seguindo as etapas para ativar o cron logrotate de um componente.
  • Para o componente edge-router, um cron job logrotate adicional também é configurado por padrão. Esse cron alterna os registros de acesso e erro gerados pelo Nginx.

Os exemplos a seguir ilustram várias configurações e operações administrativas que podem ser realizadas.

Visualizar entradas cron em um nó

sudo crontab -u apigee -l

Ver a entrada cron logrotate de um componente

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

Por exemplo, para ver o cron logrotate do processador de mensagens do Edge, execute:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

Conferir a configuração de logrotate de um componente

A configuração logrotate de um componente pode ser encontrada no arquivo $APIGEE_ROOT/<component>/logrotate/logrotate.conf. Por exemplo, no caso do processador de mensagens de borda, a configuração logrotate do nó pode ser encontrada em $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf.

Ativar o cron logrotate de um componente

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Por exemplo, para ativar o cron logrotate do processador de mensagens do Edge, execute:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Desativar o cron logrotate de um componente

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

Por exemplo, para desativar o cron logrotate do processador de mensagens de borda, execute:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d

Alterar a programação cron de um comando logrotate específico

No nó em que você quer alterar a programação cron logrotate, abra o arquivo de modificação de configuração do respectivo componente. Os arquivos de modificação de configuração do componente edge-* estão listados na tabela abaixo:

Componente Arquivo de substituição de configuração
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

Abra o arquivo de substituição apropriado e defina a seguinte substituição de configuração. O exemplo abaixo substitui a execução do cron job no minuto zero de cada hora.

conf_logrotate_cron_duration=0 * * * *

Para definir a substituição de configuração:

  1. Verifique se o arquivo pode ser lido pelo usuário de apigee.
  2. Aplique a programação cron mais recente ao componente:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Por exemplo, para aplicar uma programação cron mais recente ao logrotate do processador de mensagens do Edge, digite:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Para verificar se as alterações foram aplicadas, verifique as entradas cron ou a entrada cron logrotate do componente.

Outras configurações do logrotate

Assim como nas etapas listadas na seção acima para modificar o cronograma cron, também é possível modificar outras configurações. A tabela abaixo descreve essas configurações:

Configuração Descrição
conf_logrotate_bin_location Local do binário logrotate. Padrão: /usr/sbin/logrotate
conf_logrotate_status_file Status do ambiente de execução da captura do arquivo de status do logrotate - mostrar tem permissões de leitura/gravação para apigee usuário. Padrão: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs Quais registros serão rotacionados. Pode incluir caracteres curinga. Padrão: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate Contagem de rotações. Padrão: "5"
conf_logrotate_compress Define se os arquivos rotacionados serão compactados. Padrão: "compactar"
conf_logrotate_compress_type Tipo de compactação. Padrão: "previouscompress". Adia a compactação do arquivo rotacionado mais recentemente para o próximo ciclo de logrotate.
conf_logrotate_size Limite de tamanho do registro para rotação. Padrão: "10 mi"

Use seu próprio mecanismo de rotação de registros e cron

Se os requisitos para alternar o <component>.log não forem atendidos pelas configurações fornecidas pela Apigee, use seu próprio mecanismo de rotação de registros usando ferramentas como logrotate ou outros. Por exemplo, as configurações fornecidas pela Apigee permitem alternar os registros por tamanho, mas você quer alternar os registros com base em data/hora ou outros fatores. Nesses casos, é necessário desativar o cron logrotate fornecido pela Apigee e configurar seus próprios cron jobs conforme necessário.

Se você precisar consultar a entrada cron de rotação de registros da Apigee, ela pode ser encontrada no arquivo $APIGEE_ROOT//logrotate/logrotate.cron. Por exemplo, no caso de edge-message-processor, esse arquivo é chamado de $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. Esse arquivo inclui a entrada cron e o comando executado pela Apigee para rotação de registros. Se você quiser usar logrotate, mas não quiser usar as configurações da Apigee, crie seu próprio arquivo de configuração logrotate e use um comando logrotate semelhante para fazer a rotação de registros.