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
.
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
- Se você não conhece as configurações de
logrotate
, leia o manual de logrotate. - Se você não conhece as configurações de
crontab
, leia o manual do crontab.
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 cronjoblogrotate
, 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 cronlogrotate
de um componente. - Para o componente
edge-router
, um cron joblogrotate
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:
- Verifique se o arquivo pode ser lido pelo usuário de
apigee
. - 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/
. 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.