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
.
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
- Se non hai familiarità con le configurazioni di
logrotate
, leggi le registrare manualmente. - Se non hai familiarità con le configurazioni di
crontab
, leggi le manualmente di crontab.
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 automaticamentelogrotate
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 cronlogrotate
di un componente. - Per il componente
edge-router
, viene aggiunto un ulteriore cron joblogrotate
è 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:
- Assicurati che il file sia leggibile dall'utente di
apigee
. - 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/
. 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.