Il server Postgres sta per esaurire lo spazio su disco

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Sintomo

Il server Postgres contenente i dati di analisi ha esaurito lo spazio su disco.

Nell'esempio seguente, puoi vedere che il disco /u01 ha riempito il 90% (176 GB/207 GB) dello spazio su disco.

$df -g

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

Messaggi di errore

Potresti non visualizzare alcun messaggio di errore a meno che lo spazio su disco non sia completamente pieno sul server Postgres.

Possibili cause

La tabella seguente elenca le possibili cause di questo problema:

Causa Per
Spazio su disco insufficiente Utenti di Edge Private Cloud
Mancanza di eliminazione dei dati di analisi Utenti di Edge Private Cloud

Spazio su disco insufficiente

Diagnosi

Una delle cause tipiche degli errori di spazio su disco sui server Postgres è che non hai spazio su disco sufficiente per archiviare i grandi volumi di dati di analisi. I passaggi forniti di seguito ti aiuteranno a determinare se hai spazio su disco sufficiente o meno e ad adottare le misure appropriate per risolvere il problema.

  1. Determina la velocità del traffico API in entrata verso Edge facendo riferimento alla Performance Dashboard del proxy di analisi.

    Esempio di prestazioni del proxy che mostra la TPS media

  2. Considera il seguente scenario:
    1. Il traffico API in entrata per la tua organizzazione è di 22 TPS (transazioni al secondo).
      1. Ciò significa che il traffico API è di 1.900.800 transazioni al giorno (22 * 60 * 60 * 24).
      2. Tieni presente che ogni transazione/messaggio in Analytics ha una dimensione di 1,5 KB.
      3. Pertanto, ogni giorno vengono generati 2,7 GB di dati di analisi (1.900.800 * 1,5 K).
    2. Devi conservare 30 giorni di dati di analisi sui server Postgres come riferimento.
      1. Il totale dei dati generati per 30 giorni = 81 GB (2,7 GB * 30)
    3. Pertanto, per archiviare 30 giorni di dati di analisi a una velocità di traffico di 22 TPS, devi avere 150 GB di spazio su disco.
      1. 81 GB (dati di analisi) + 50 GB (altri dati come log e così via) + 20 GB (spazio buffer aggiuntivo) = 150 GB.
  3. Se hai meno spazio su disco sul sistema, ad esempio meno di 150 GB di spazio (come nello scenario di esempio sopra), non hai spazio su disco sufficiente per archiviare i dati di analisi.

Risoluzione

Aggiungi spazio su disco sufficiente alla macchina del server Postgres.

Mancanza di eliminazione dei dati di analisi

Diagnosi

Con l'aumento del traffico API verso Edge, aumenterà anche la quantità di dati di analisi archiviati nel database Postgres. La quantità di dati di analisi che può essere archiviata nel database Postgres è limitata dalla quantità di spazio su disco disponibile sul sistema.

Pertanto, non puoi continuare ad archiviare dati di analisi aggiuntivi nel database Postgres senza eseguire una delle seguenti azioni:

  1. Aggiungi altro spazio su disco.

    Questa non è un'opzione scalabile perché non possiamo continuare ad aggiungere altro spazio su disco perché è limitato e costoso.

  2. Elimina i dati oltre l'intervallo di conservazione richiesto.

    Questa è la soluzione preferita perché puoi assicurarti che i dati non più necessari vengano rimossi a intervalli di tempo regolari.

Se non elimini i dati a intervalli regolari manualmente o utilizzando un cron job, la quantità di dati di analisi aumenta continuamente e alla fine potresti esaurire lo spazio su disco sul sistema.

Risoluzione

Per eliminare i dati che superano l'intervallo di conservazione richiesto:

  1. Determina l'intervallo di conservazione, ovvero la durata per la quale vuoi conservare i dati di analisi nel database Postgres.
  2. Esegui il seguente comando per eliminare i dati di un'organizzazione e di un ambiente specifici:
    /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]
    

Lo script ha le seguenti opzioni:

  • Delete-from-parent-fact Default : No. Eliminerà anche i dati precedenti ai giorni di conservazione dalla tabella dei fatti principale.
  • Skip-confirmation-prompt. Valore predefinito: No. Se No, lo script richiederà la conferma prima di eliminare i dati dalla tabella dei fatti principale. Imposta su Sì se lo script di eliminazione è automatizzato.

Per ulteriori informazioni, consulta Eliminare i dati di analisi.

Se il problema persiste, contatta l'assistenza di Apigee Edge.