Il server Postgres sta per esaurire lo spazio su disco

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Sintomo

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

Nell'esempio seguente, puoi vedere che il disco /u01 ha riempito il 90% (176 GB/207 GB) di 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 esaurito sul server Postgres.

Possibili cause

Nella tabella seguente sono elencate le possibili cause di questo problema:

Causa Per
Spazio su disco inadeguato Utenti del cloud privato perimetrale
Mancanza di eliminazione dei dati di Analytics Utenti del cloud privato perimetrale

Spazio su disco non adeguato

Diagnostica

Una delle cause più comuni degli errori di spazio su disco sui server Postgres è lo spazio su disco insufficiente per archiviare grandi volumi di dati di analisi. I passaggi riportati di seguito ti aiuteranno a stabilire se lo spazio su disco è sufficiente o meno e a intraprendere le azioni appropriate per risolvere il problema.

  1. Determina la frequenza del traffico API in entrata a Edge facendo riferimento alla dashboard delle prestazioni del proxy di Analytics.

    Esempio di rendimento del proxy che mostra i TPS medi

  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 è pari a 1.900.800 transazioni al giorno (22 * 60 * 60 * 24).
      2. Tieni presente che ogni transazione/messaggio in Analytics ha una dimensione di 1,5000 byte.
      3. Pertanto, ogni giorno genera 2,7 GB di dati di Analytics (1.900.800 * 1,5 K).
    2. Hai l'obbligo di conservare per riferimento per 30 giorni i dati di Analytics sui tuoi server Postgres.
      1. Dati totali generati per 30 giorni = 81 GB (2,7 GB * 30)
    3. Di conseguenza, per archiviare 30 giorni di dati di Analytics con una frequenza di traffico di 22 TPS, devi disporre di 150 GB di spazio su disco.
      1. 81 GB (dati Analytics) + 50 GB (altri dati come log e così via) + 20 GB (spazio di buffer aggiuntivo) = 150 GB.
  3. Se disponi di meno spazio su disco nel sistema, ovvero meno di 150 GB (come nello scenario di esempio riportato sopra), non disponi di spazio su disco adeguato per archiviare i dati di Analytics.

Risoluzione

Aggiungi spazio su disco adeguato alla macchina server Postgres.

Mancanza di eliminazione dei dati di Analytics

Diagnostica

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 possono essere archiviati nel database Postgres è limitata dalla quantità di spazio su disco disponibile nel 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 in quanto non possiamo continuare ad aggiungere altro spazio su disco in quanto è limitata e costosa.

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

    Questa è una 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 può portare all'esaurimento dello spazio su disco nel sistema.

Risoluzione

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

  1. Determina l'intervallo di conservazione, ovvero il periodo di tempo per cui vuoi conservare i dati di Analytics nel database Postgres.
  2. Esegui questo comando per eliminare i dati per un'organizzazione e 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 offre le seguenti opzioni:

  • Delete-from-parent-fact Predefinito : No. Verranno eliminati dalla tabella dei fatti padre anche i dati che risalgono a più di giorni di conservazione.
  • Skip-confirmation-prompt. Valore predefinito: no. Se la risposta è no, lo script chiederà una conferma prima di eliminare i dati dal fatto principale. Imposta su Sì se lo script di eliminazione definitiva è automatizzato.

Per ulteriori informazioni, consulta la sezione Eliminazione dei dati di Analytics.

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