Logrotation für Edge-Komponenten aktivieren

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.

Jede dieser 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 eine logrotate-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 zur logrotate-Cron einer Komponente aktivieren.
  • Für die Komponente edge-router wird ein zusätzlicher Cronjob vom Typ logrotate 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:

  1. Die Datei muss für apigee-Nutzer lesbar sein.
  2. 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//logrotate/logrotate.cron 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.