Protokollrotation, d. h. der Vorgang der Rotation mehrerer Protokolldateien, die verwendet werden oder nicht. vereinfacht die Verwaltung von Systemen, eine große Anzahl von Protokolldateien generieren. Die Protokollrotation ermöglicht die automatische Rotation, Komprimierung, Entfernen und Versenden von Protokolldateien.
In Edge für Private Cloud werden einige der Hauptlogdateien auf jeder apigee
-Komponente mit einem Standardrotationsmechanismus konfiguriert. Auf der
Message Processor-Komponente, die folgenden Dateien sind mit einer Standardrotation konfiguriert
mithilfe von 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
Ähnliche Dateien für andere edge-*
-Komponenten (mit deren Namen)
mit edge-
beginnen, z. B. edge-management-server
,
edge-router
, edge-postgres-server
und edge-qpid-server
.
edge-*
-Komponenten generiert auch eine zusätzliche Logdatei,
Ausgabe der Konsole der jeweiligen Komponente. Bei der Message Processor-Komponente
heißt diese Datei /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
.
Andere edge-*
-Komponenten generieren eine ähnliche Datei. Diese Dateien werden nicht durch die
der Logback-Bibliothek, sondern mit logrotate
und crontab
.
Hinweis
- Wenn Sie mit
logrotate
-Konfigurationen nicht vertraut sind, lesen Sie die logrotate manuell. - Wenn Sie mit
crontab
-Konfigurationen nicht vertraut sind, lesen Sie die Crontab-Handbuch
Logrotationen aktivieren
Ab Version 4.52 von Edge for Private Cloud, wenn Sie ein edge-*
installieren
Komponente, ein crontab
-Eintrag für
Das rotierende Log wird automatisch in der crontab
des Nutzers apigee
erstellt. Dieser Cronjob wird alle
Stunde standardmäßig und verwendet das Dienstprogramm logrotate
, um Logs zu rotieren. Wenn mehrere edge-*
Komponenten auf demselben Knoten installiert sind (z. B. in einer All-in-one-Installation oder
wenn Router und Message Processor auf einem Knoten installiert sind, hat jede Komponente einen eigenen Cron-Eintrag für
die entsprechenden Logs rotieren.
Hinweise:
- Wenn Sie während der Installation einer
edge-*
-Komponente automatisch einelogrotate
-Cronjob das Flag „ENABLE_LOGROTATE=n“ in der verwendeten Datei für die stille Konfiguration festlegen. für die Installation. Wenn der Cronjob während der Installation nicht eingerichtet wird, können Sie ihn einrichten indem Sie die Schritte zurlogrotate
-Cron einer Komponente aktivieren. - Für die Komponente
edge-router
wird ein zusätzlicher Cronjob vom Typlogrotate
erstellt ebenfalls standardmäßig konfiguriert. Dieser Cronjob rotiert Zugriffs- und Fehlerlogs, die von Nginx generiert wurden.
Die folgenden Beispiele veranschaulichen verschiedene Konfigurationen und Verwaltungsvorgänge die du leisten kannst.
Cron-Einträge auf einem Knoten ansehen
sudo crontab -u apigee -l
Cron-Eintrag logrotate
einer Komponente ansehen
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
Führen Sie beispielsweise folgenden Befehl aus, um den Cron logrotate
von Edge-message-processor aufzurufen:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
Eine Komponente ansehen logrotate
-Konfiguration
Die logrotate
-Konfiguration einer Komponente befindet sich in der Datei
$APIGEE_ROOT/<component>/logrotate/logrotate.conf
.
Im Fall von Edge-Message-Prozessor kann die logrotate
-Konfiguration des Knotens beispielsweise so aussehen:
gefunden in $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
.
Cronjob logrotate
einer Komponente aktivieren
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Führen Sie beispielsweise folgenden Befehl aus, um den Cron logrotate
von Edge-message-processor zu aktivieren:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Cronjob logrotate
einer Komponente deaktivieren
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
Führen Sie beispielsweise folgenden Befehl aus, um den Cron logrotate
von Edge-message-processor zu deaktivieren:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
Cron-Zeitplan eines bestimmten logrotate
-Befehls ändern
Öffnen Sie auf dem Knoten, auf dem Sie den Cron-Zeitplan logrotate
ändern möchten, den entsprechenden
der Konfigurationsüberschreibungsdatei der Komponente. Die Konfigurationsüberschreibungsdateien der Komponente „edge-*
“
sind in der folgenden Tabelle aufgeführt:
Komponente | Konfigurationsüberschreibungsdatei |
---|---|
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 |
Öffnen Sie die entsprechende Überschreibungsdatei und legen Sie die folgende Konfigurationsüberschreibung fest. Das Beispiel unten überschreibt den Cronjob, sodass er zur 0. Minute jeder Stunde ausgeführt wird.
conf_logrotate_cron_duration=0 * * * *
So legen Sie die Konfigurationsüberschreibung fest:
- Die Datei muss für
apigee
-Nutzer lesbar sein. - Wenden Sie den neueren Cron-Zeitplan auf die Komponente an:
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
Wenn Sie beispielsweise einen neueren Cron-Zeitplan auf den logrotate
des Edge-Nachrichtenprozessors anwenden möchten, geben Sie Folgendes ein:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
Überprüfen Sie entweder Cron-Einträge oder sehen Sie sich die
Cron-Eintrag logrotate
.
Zusätzliche logrotate
-Konfigurationen
Ähnlich wie im obigen Abschnitt zum Ändern des Cron-Zeitplans können Sie zusätzliche Konfigurationen. In der folgenden Tabelle werden diese Konfigurationen beschrieben:
Konfiguration | Beschreibung |
---|---|
conf_logrotate_bin_location |
Speicherort der logrotate-Binärdatei. Standardwert: /usr/sbin/logrotate |
conf_logrotate_status_file |
Statusdatei zum Erfassen des Laufzeitstatus von Logrotate - Anzeige mit Lese-/Schreibberechtigungen
für apigee Nutzer. Standard: $APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
Welche Logs rotiert werden sollen. Sie können Platzhalter enthalten. Standard:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
Anzahl der Rotationen. Standardeinstellung: „5“ |
conf_logrotate_compress |
Gibt an, ob rotierte Dateien komprimiert werden sollen. Standardeinstellung: „Komprimieren“ |
conf_logrotate_compress_type |
Art der Komprimierung. Standardeinstellung: „delaycompress“. Verzögert die Komprimierung von von der neuesten rotierten Datei zum nächsten Logrotate-Zyklus wechseln. |
conf_logrotate_size |
Loggrößenlimit für die Rotation. Standardeinstellung: „10 Mio.“ |
Verwenden Sie Ihren eigenen Log-Rotationsmechanismus und Cron
Wenn Ihre Anforderungen zum Rotieren der Datei <component>.log von den Konfigurationen nicht erfüllt werden
von Apigee bereitgestellt wird, nutzen Sie Ihren eigenen Mechanismus der Logrotation mit Tools wie logrotate
oder andere. Mit den von Apigee bereitgestellten Konfigurationen
können Sie beispielsweise Logs nach Größe rotieren,
Sie möchten Logs anhand von Datum/Uhrzeit oder anderen Faktoren rotieren. In solchen Fällen sollten Sie
Deaktivieren Sie den von Apigee bereitgestellten Cron-Befehl logrotate
und richten Sie nach Bedarf Ihre eigenen Cronjobs ein.
Wenn Sie auf den Cron-Eintrag der Logrotation von Apigee verweisen müssen, finden Sie ihn in der Datei
$APIGEE_ROOT/
Im Fall von
edge-message-processor
, diese Datei heißt
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
. Diese Datei
enthält sowohl den Cron-Eintrag als auch den Befehl, der von Apigee für die Logrotation ausgeführt wird. Wenn Sie
logrotate
, aber nicht die Konfigurationen von Apigee,
eigene logrotate
Konfigurationsdatei und verwenden Sie einen ähnlichen logrotate
-Befehl für die Log-Rotation.