Abilita la rotazione dei log per i componenti perimetrali

Rotazione dei log: il processo di rotazione di più file di log in entrata e in uso. semplifica l'amministrazione dei sistemi generare grandi quantità di file di log. La rotazione dei log consente la rotazione, la compressione rimozione e spedizione dei file di log.

In Edge per Private Cloud, alcuni dei file di log principali su ogni apigee sono configurati con un meccanismo di rotazione predefinito. Ad esempio, nella Componente Message Processor, i seguenti file sono configurati con una rotazione predefinita usando il 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

Esistono file simili per altri componenti edge-* (i cui nomi iniziano con edge-), ad esempio edge-management-server, edge-router, edge-postgres-server e edge-qpid-server.

Ciascuno di questi componenti di edge-* genera anche un file di log aggiuntivo che viene reindirizzato dell'output della console del rispettivo componente. Nel caso del componente Processore di messaggi, il nome di questo file è /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Gli altri componenti di edge-* generano un file simile. La posizione di questi file la rotazione non avviene la libreria di logback, ma piuttosto utilizzare logrotate e crontab.

Prima di iniziare

Abilita la rotazione dei log

A partire da Edge per il cloud privato versione 4.52, quando installi un'istanza edge-* , una voce crontab per la rotazione di questo log viene creato automaticamente nel crontab dell'utente di apigee. Questo cron job viene eseguito ogni ora per impostazione predefinita e utilizza l'utilità logrotate per ruotare i log. Se più edge-* componenti vengono installati sullo stesso nodo (ad esempio, in un'installazione all-in-one oppure router e processore di messaggi sono installati su un nodo), ogni componente avrà la propria voce cron per ruotando i rispettivi log.

Note:

  • Se durante l'installazione di un componente edge-* non vuoi usare configura automaticamente logrotate cronjob, imposta il flag "ENABLE_LOGROTATE=n" nel file di configurazione invisibile che utilizzi per l'installazione. Se il cron job non è impostato durante l'installazione, puoi configurarlo in un secondo momento seguendo la procedura abilita il cron logrotate di un componente.
  • Per il componente edge-router, viene aggiunto un ulteriore cron job logrotate è configurata anche per impostazione predefinita. Questo cron ruota i log degli accessi e degli errori generati da Nginx.

I seguenti esempi illustrano varie configurazioni e operazioni amministrative che puoi eseguire.

Visualizza le voci cron su un nodo

sudo crontab -u apigee -l

Visualizza la voce cron logrotate di un componente

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

Ad esempio, per visualizzare il cron logrotate del processore di messaggi perimetrale, esegui:

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

Visualizzare un componente Configurazione di logrotate

Nel file è disponibile la configurazione logrotate di un componente $APIGEE_ROOT/<component>/logrotate/logrotate.conf. Ad esempio, nel caso del processore di messaggi periferici, la configurazione logrotate del nodo può essere rilevato in $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf.

Abilita il cron logrotate di un componente

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

Ad esempio, per abilitare il cron logrotate del processore di messaggi perimetrale, esegui:

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

Disattiva il cron logrotate di un componente

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

Ad esempio, per disabilitare il cron logrotate del processore perimetrale dei messaggi, esegui:

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

Modificare la pianificazione cron di un determinato comando logrotate

Sul nodo in cui vuoi modificare la pianificazione cron logrotate, apri la rispettiva pianificazione del componente. I file di sostituzione della configurazione del componente edge-* sono elencati nella tabella seguente:

Componente File di override della configurazione
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

Apri il file di override appropriato e imposta il seguente override della configurazione. Nell'esempio riportato di seguito esegue l'override del cron job allo 0° minuto di ogni ora.

conf_logrotate_cron_duration=0 * * * *

Per impostare l'override della configurazione:

  1. Assicurati che il file sia leggibile dall'utente di apigee.
  2. Applica la pianificazione cron più recente al componente:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Ad esempio, per applicare la pianificazione cron più recente al valore logrotate del processore-di-messaggi periferico, inserisci:

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

Per verificare che le modifiche siano state applicate, controlla le voci cron o visualizza la sezione logrotate voce cron.

Altre configurazioni di logrotate

Analogamente ai passaggi elencati nella sezione precedente per la modifica della pianificazione cron, puoi modificare configurazioni aggiuntive. Nella tabella seguente vengono descritte queste configurazioni:

Configurazione Descrizione
conf_logrotate_bin_location Percorso del binario logrotate. Valore predefinito: /usr/sbin/logrotate
conf_logrotate_status_file Il file di stato acquisisce lo stato di runtime di logrotate - mostra con autorizzazioni di lettura/scrittura per apigee utente. Predefinita: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs Quali log ruotare. Può includere caratteri jolly. Valore predefinito: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate Conteggio della rotazione. Valore predefinito: "5"
conf_logrotate_compress Indica se comprimere i file ruotati. Valore predefinito: "compress"
conf_logrotate_compress_type Tipo di compressione. Valore predefinito: "delaycompress". Rimanda la compressione l'ultimo file ruotato al successivo ciclo logrotate.
conf_logrotate_size Limite di dimensioni del log per la rotazione. Valore predefinito: "10 M"

Usa il tuo meccanismo di rotazione dei log e cron

Se i requisiti di rotazione di <component>.log non sono soddisfatti dalle configurazioni fornito da Apigee, utilizzi il tuo meccanismo di rotazione dei log con strumenti come logrotate o altro. Ad esempio, le configurazioni fornite da Apigee consentono di ruotare i log per dimensione, vuoi ruotare i log in base a data/ora o altri fattori. In questi casi, dovresti disabilita il cron logrotate fornito da Apigee e configura i tuoi cron job in base alle esigenze.

Se devi fare riferimento alla voce cron relativa alla rotazione dei log di Apigee, puoi trovarla nel file $APIGEE_ROOT//logrotate/logrotate.cron. Ad esempio, nel caso di edge-message-processor, questo file è denominato $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. Questo file include sia la voce cron sia il comando eseguito da Apigee per la rotazione dei log. Se vuoi utilizzare logrotate ma non vuoi utilizzare le configurazioni di Apigee, puoi creare proprietario di logrotate di configurazione del deployment e utilizza un comando logrotate simile per eseguire la rotazione dei log.