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
.
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 cronjoblogrotate
, 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 cronlogrotate
de um componente. - Para o componente
edge-router
, um cron joblogrotate
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:
- Verifique se o arquivo pode ser lido pelo usuário
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 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/
: 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.