Serveur Postgres à court d'espace disque

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

Problème constaté

Le serveur Postgres qui contient les données Analytics est à court d'espace disque.

Dans l'exemple suivant, vous pouvez voir que le disque /u01 a rempli 90% (176 Go/207 Go) de l'espace disque.

$df -g

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

Messages d'erreur

Aucun message d'erreur ne s'affiche, sauf si l'espace disque est entièrement rempli sur le serveur Postgres.

Causes possibles

Le tableau suivant répertorie les causes possibles de ce problème:

Cause Pour
Espace disque inapproprié Utilisateurs de cloud privé périphérique
Manque d'élagage des données Analytics Utilisateurs de cloud privé périphérique

Espace disque inapproprié

Diagnostic

L'une des causes typiques d'erreurs d'espace disque sur les serveurs Postgres est que vous ne disposez pas d'un espace disque suffisant pour stocker les grands volumes de données d'analyse. Les étapes fournies ci-dessous vous aideront à déterminer si vous disposez de suffisamment d'espace disque ou non, et à prendre les mesures appropriées pour résoudre le problème.

  1. Déterminez le taux de trafic de l'API entrant vers Edge en vous reportant à Analytics Proxy Performance Dashboard.

    Exemple de performances proxy indiquant le TPS moyen

  2. Considérez le scénario suivant :
    1. Le trafic API entrant pour votre organisation est de 22 transactions par seconde.
      1. Cela signifie que le trafic de l'API est de 1 900 800 transactions par jour (22 * 60 * 60 * 24).
      2. Notez que la taille de chaque transaction/message dans Analytics est de 1,5 Ko.
      3. Par conséquent, chaque jour génère 2,7 Go de données Analytics (1 900 800 x 1,5 K).
    2. Vous devez conserver 30 jours de données Analytics sur vos serveurs Postgres pour référence.
      1. Total des données générées pendant 30 jours = 81 Go (2,7 Go x 30)
    3. Par conséquent, pour stocker 30 jours de données Analytics à un taux de trafic de 22 TPS, vous devez disposer de 150 Go d'espace disque.
      1. 81 Go (données Analytics) + 50 Go (autres données telles que des journaux, par exemple) + 20 Go (espace tampon supplémentaire) = 150 Go.
  3. Si vous disposez de moins d'espace disque sur le système, c'est-à-dire de moins de 150 Go (comme dans l'exemple de scénario ci-dessus), vous ne disposez pas d'un espace disque suffisant pour stocker les données Analytics.

Résolution

Ajoutez un espace disque suffisant à la machine Postgres Server.

Manque d'élagage des données Analytics

Diagnostic

Avec l'augmentation du trafic des API vers Edge, la quantité de données d'analyse stockées dans la base de données Postgres augmente également. La quantité de données d'analyse pouvant être stockées dans la base de données Postgres est limitée par la quantité d'espace disque disponible sur le système.

Par conséquent, vous ne pouvez pas continuer à stocker des données d'analyse supplémentaires dans la base de données Postgres sans effectuer l'une des actions suivantes:

  1. Augmentez l'espace disque.

    Cette option n'est pas évolutive, car elle est limitée et coûteuse. Nous ne pouvons pas continuer à ajouter plus d'espace disque.

  2. Élagez les données au-delà de l'intervalle de conservation requis.

    Il s'agit d'une solution privilégiée, car vous pouvez vous assurer que les données qui ne sont plus nécessaires sont supprimées à intervalles réguliers.

Si vous n'élargissez pas les données à intervalles réguliers manuellement ou à l'aide d'une tâche Cron, la quantité de données d'analyse augmente continuellement et peut entraîner la saturation d'espace disque sur le système.

Résolution

Pour élaguer les données qui se situent au-delà de l'intervalle de conservation requis:

  1. Déterminez l'intervalle de conservation, c'est-à-dire la durée pendant laquelle vous souhaitez conserver les données Analytics dans la base de données Postgres.
  2. Exécutez la commande suivante pour restreindre les données à une organisation et à un environnement spécifiques :
    /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]
    

Le script propose les options suivantes:

  • Delete-from-parent-fact Par défaut : non. Les données antérieures à la durée de conservation sont également supprimées du tableau de faits parent.
  • Skip-confirmation-prompt. Valeur par défaut: non. Si ce n'est pas le cas, le script vous demandera une confirmation avant de supprimer des données du fait parent. Définissez la valeur sur "Oui" si le script de suppression définitive est automatisé.

Pour en savoir plus, consultez Élagage des données Analytics.

Si le problème persiste, contactez l'assistance Apigee Edge.