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

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

No Edge para nuvem privada, alguns dos principais arquivos de registro em cada apigee são configurados com um mecanismo de rotação padrão. Por exemplo, no processador de mensagens, os arquivos a seguir são configurados com uma 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 começar 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 é redirecionado do console do respectivo componente. No caso do componente "Processador de mensagens", esse arquivo é chamado /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Outros componentes edge-* geram um arquivo semelhante. Estes arquivos rotação não são feitas a biblioteca de logback, mas usando logrotate e crontab.

Antes de começar

  • Caso não conheça as configurações do logrotate, leia a logturn manual (em inglês).
  • Caso não conheça as configurações do crontab, leia a manual do crontab (em inglês).

Ativar rotações de registro

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

Observações:

  • Se, durante a instalação de um componente edge-*, você não quiser configure automaticamente cronjob logrotate, defina a flag “ENABLE_LOGROTATE=n” no arquivo de configuração silencioso que você usar para instalação. Se o cron job não for definido durante a instalação, você poderá configurá-lo 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. Este 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 você pode realizar.

Visualizar entradas do 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 consultar o cron logrotate do processador de mensagens perimetrais, execute:

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

Visualizar um Configuração do logrotate

A configuração logrotate de um componente pode ser encontrada no arquivo $APIGEE_ROOT/<component>/logrotate/logrotate.conf. Por exemplo, no caso de um processador de mensagens de borda, a configuração logrotate do nó pode ser encontrado 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 perimetrais, execute:

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

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

No nó em que você quer mudar a programação cron logrotate, abra o respectivo arquivo de substituição de configuração do componente. Os arquivos de substituiçã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 substituição de configuração a seguir. O exemplo abaixo substitui o cron job para que seja executado no minuto zero de cada hora.

conf_logrotate_cron_duration=0 * * * *

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

  1. Verifique se o arquivo pode ser lido pelo usuário 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 perimetrais, digite:

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

Para verificar se as alterações foram aplicadas, verifique as entradas do cron ou visualize os arquivos entrada cron logrotate.

Outras configurações do logrotate

Semelhante aos passos listados na seção acima para modificar a programação do cron, é possível modificar configurações adicionais. A tabela abaixo descreve essas configurações:

Configuração Descrição
conf_logrotate_bin_location Local do binário logscroll. Padrão: /usr/sbin/logrotate
conf_logrotate_status_file Arquivo de status de captura do status do ambiente de execução 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 alternados. É possível 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: "delaycompress". Adia a compactação de arquivo rotacionado mais recente para o próximo ciclo de logada.
conf_logrotate_size Limite de tamanho de registro para rotação. Padrão: "10M"

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

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

Se você precisar consultar a entrada cron de rotação de registros da Apigee, poderá encontrá-la no arquivo $APIGEE_ROOT//logrotate/logrotate.cron: Por exemplo, no caso de edge-message-processor, esse arquivo é chamado $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. Este arquivo inclui a entrada cron e o comando executado pela Apigee para rotação de registros. Se você quiser usar o logrotate, mas sem as configurações da Apigee, crie seu próprio logrotate de configuração do Terraform e usar um comando logrotate semelhante para executar a rotação de registros.