Der Speicherplatz auf dem Postgres-Server ist knapp

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Symptom

Auf dem Postgres-Server mit den Analytics-Daten ist kein Speicherplatz mehr verfügbar.

Im folgenden Beispiel sehen Sie, dass das Laufwerk /u01 90% (176 GB/207 GB) des Speicherplatzes belegt hat.

$df -g

Filesystem Size User Avail Use% Mounted on
/dev/mapper/sysvg-syslv09 207G 176G 176G 21G 90% /u01

Fehlermeldungen

Möglicherweise wird keine Fehlermeldung angezeigt, es sei denn, der Speicherplatz auf dem Postgres-Server ist vollständig gefüllt.

Mögliche Ursachen

In der folgenden Tabelle sind die möglichen Ursachen dieses Problems aufgeführt:

Ursache Für
Nicht genügend Speicherplatz Edge Private Cloud-Nutzer
Fehlende Datenbereinigung in Analytics Edge Private Cloud-Nutzer

Unzureichender Speicherplatz

Diagnose

Eine der typischen Ursachen für Speicherplatzfehler auf Postgres-Servern ist, dass der Speicherplatz nicht ausreichend ist, um große Mengen an Analysedaten zu speichern. Anhand der folgenden Schritte können Sie feststellen, ob genügend Speicherplatz vorhanden ist, und entsprechende Maßnahmen ergreifen, um das Problem zu beheben.

  1. Bestimmen Sie die Rate des eingehenden API-Traffics an Edge anhand des Analytics Proxy Performance Dashboard.

    Beispiel einer Proxy-Leistung mit durchschnittlichen TPS

  2. Stellen Sie sich folgendes Szenario vor:
    1. Der eingehende API-Traffic für Ihre Organisation beträgt 22 TPS (Transaktionen pro Sekunde).
      1. Das bedeutet, der API-Traffic beträgt 1.900.800 Transaktionen pro Tag (22 * 60 * 60 * 24).
      2. Jede Transaktion/Nachricht in Analytics ist 1,5 KB groß.
      3. Daher werden täglich 2,7 GB Analytics-Daten generiert (1.900.800 × 1,5 K).
    2. Analytics-Daten müssen für einen Zeitraum von 30 Tagen zu Referenzzwecken auf Ihren Postgres-Servern aufbewahrt werden.
      1. Die für 30 Tage generierten Gesamtdaten = 81 GB (2,7 GB * 30)
    3. Wenn Sie Analytics-Daten für einen Zeitraum von 30 Tagen mit einer Traffic-Rate von 22 TPS speichern möchten, benötigen Sie also 150 GB Speicherplatz.
      1. 81 GB (Analytics-Daten) + 50 GB (andere Daten wie Protokolle) + 20 GB (zusätzlicher Zwischenspeicher) = 150 GB
  3. Wenn auf dem System weniger Speicherplatz vorhanden ist, d.h. weniger als 150 GB Speicherplatz (wie im Beispielszenario oben) angegeben ist, steht nicht genügend Speicherplatz zur Verfügung, um die Analytics-Daten zu speichern.

Auflösung

Fügen Sie dem Postgres Server-Computer genügend Speicherplatz hinzu.

Fehlende Datenbereinigung in Analytics

Diagnose

Mit dem Anstieg des API-Traffics zu Edge erhöht sich auch die Menge der in der Postgres-Datenbank gespeicherten Analysedaten. Die Menge an Analysedaten, die in der Postgres-Datenbank gespeichert werden kann, ist durch den auf dem System verfügbaren Speicherplatz begrenzt.

Daher können Sie keine weiteren Analysedaten in der Postgres-Datenbank speichern, ohne eine der folgenden Aktionen auszuführen:

  1. Fügen Sie Speicherplatz hinzu.

    Dies ist keine skalierbare Option, da wir nicht mehr Speicherplatz hinzufügen können, da dies begrenzt und teuer ist.

  2. Daten über das erforderliche Aufbewahrungsintervall hinaus bereinigen

    Diese Lösung wird empfohlen, weil Sie so dafür sorgen können, dass nicht mehr benötigte Daten in regelmäßigen Abständen entfernt werden.

Wenn Sie die Daten nicht in regelmäßigen Abständen manuell oder mithilfe eines Cronjobs bereinigen, erhöht sich die Menge der Analysedaten kontinuierlich und kann letztendlich dazu führen, dass der Speicherplatz auf dem System knapp wird.

Auflösung

So bereinigen Sie die Daten, die das erforderliche Aufbewahrungsdauer überschritten haben:

  1. Bestimmen Sie das Aufbewahrungsintervall, also die Dauer, für die Sie die Analytics-Daten in der Postgres-Datenbank aufbewahren möchten.
  2. Führen Sie den folgenden Befehl aus, um Daten für eine bestimmte Organisation und Umgebung zu bereinigen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql pg-data-purge
      org env number_of_days_to_retain [Delete-from-parent-fact - N/Y] [Skip-confirmation-prompt - N/Y]
    

Das Skript hat folgende Optionen:

  • Delete-from-parent-fact Standard : Nein. Daten, die älter als Aufbewahrungstage sind, werden auch aus der übergeordneten Faktentabelle gelöscht.
  • Skip-confirmation-prompt. Standardeinstellung: Nein. Wenn „Nein“, fordert das Skript zur Bestätigung auf, bevor Daten aus der übergeordneten Tatsache gelöscht werden. Legen Sie diese Option auf „Ja“ fest, wenn das Löschskript automatisiert ist.

Weitere Informationen finden Sie unter Analytics-Daten bereinigen.

Wenn das Problem weiterhin besteht, wenden Sie sich an den Apigee Edge-Support.