Der Speicherplatz auf dem Postgres-Server ist knapp

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zuApigee X wechseln.
info

Symptom

Auf dem Postgres-Server mit den Analytics-Daten ist der Speicherplatz ausgegangen.

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

$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 belegt.

Mögliche Ursachen

In der folgenden Tabelle sind mögliche Ursachen für dieses Problem aufgeführt:

Ursache Für
Unzureichender Speicherplatz Nutzer von Edge Private Cloud
Keine Bereinigung von Analytics-Daten Nutzer von Edge Private Cloud

Unzureichender Speicherplatz

Diagnose

Eine der typischen Ursachen für Speicherplatzfehler auf Postgres-Servern ist, dass nicht genügend Speicherplatz zum Speichern der großen Mengen an Analytics-Daten vorhanden ist. Mit den folgenden Schritten können Sie feststellen, ob genügend Speicherplatz vorhanden ist, und entsprechende Maßnahmen ergreifen, um das Problem zu beheben.

  1. Die Rate des eingehenden API-Traffics zu Edge können Sie dem Dashboard zur Leistungsüberwachung „Analytics Proxy Performance“ entnehmen.

    Beispiel für die Proxy-Leistung mit durchschnittlichem 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, dass der API-Traffic 1.900.800 Transaktionen pro Tag beträgt (22 * 60 * 60 * 24).
      2. Jede Transaktion/Nachricht in Analytics ist 1,5 KB groß.
      3. Daher werden täglich 2,7 GB an Analytics-Daten generiert (1.900.800 * 1,5 KB).
    2. Sie müssen 30 Tage lang Analytics-Daten auf Ihren Postgres Servern aufbewahren.
      1. Die für 30 Tage generierten Daten betragen insgesamt 81 GB (2,7 GB * 30).
    3. Um 30 Tage lang Analytics-Daten bei einer Traffic-Rate von 22 TPS zu speichern, benötigen Sie 150 GB Speicherplatz.
      1. 81 GB (Analytics-Daten) + 50 GB (andere Daten wie Logs usw.) + 20 GB (zusätzlicher Puffer) = 150 GB.
  3. Wenn auf dem System weniger Speicherplatz vorhanden ist, d.h. weniger als 150 GB (wie im obigen Beispielszenario), ist nicht genügend Speicherplatz zum Speichern der Analytics Daten vorhanden.

Auflösung

Fügen Sie der Postgres-Servermaschine ausreichend Speicherplatz hinzu.

Keine Bereinigung von Analytics-Daten

Diagnose

Mit der Zunahme des API-Traffics zu Edge steigt auch die Menge der Analytics-Daten, die in der Postgres-Datenbank gespeichert werden. Die Menge der Analytics-Daten, die in der Postgres Datenbank gespeichert werden können, ist durch den auf dem System verfügbaren Speicherplatz begrenzt.

Daher können Sie nicht weiterhin zusätzliche Analytics-Daten in der Postgres Datenbank speichern, ohne eine der folgenden Maßnahmen zu ergreifen:

  1. Mehr Speicherplatz hinzufügen

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

  2. Daten über das erforderliche Aufbewahrungsintervall hinaus bereinigen

    Dies ist die bevorzugte Lösung, da Sie so dafür sorgen können, dass die nicht mehr benötigten Daten in regelmäßigen Abständen entfernt werden.

Wenn Sie die Daten nicht in regelmäßigen Abständen manuell oder mit einem Cronjob bereinigen, nimmt die Menge der Analytics-Daten ständig zu und kann schließlich dazu führen, dass der Speicherplatz auf dem System ausgeht.

Auflösung

So bereinigen Sie Daten, die über das erforderliche Aufbewahrungsintervall hinausgehen:

  1. Bestimmen Sie das Aufbewahrungsintervall, d. h. 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 bietet folgende Optionen:

  • Delete-from-parent-fact Standard : Nein. Löscht auch Daten, die älter als die Aufbewahrung Tage sind, aus der übergeordneten Faktentabelle.
  • Skip-confirmation-prompt. Standard: Nein. Wenn „Nein“ festgelegt ist, fordert das Skript eine Bestätigung an, bevor Daten aus der übergeordneten Faktentabelle gelöscht werden. Setzen Sie die Option auf „Ja“, wenn das Bereinigungsskript automatisiert ist.

Weitere Informationen finden Sie unter Analytics-Daten bereinigen.

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