Antimodèle: ajouter des informations personnalisées au schéma appartenant à Apigee dans la base de données Postgres

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation sur Apigee X.
info

Edge API Analytics est une fonctionnalité intégrée très puissante fournie par Apigee Edge. Il collecte et analyse un large éventail de données qui transitent par les API. Les données analytiques collectées peuvent fournir des insights très utiles. Par exemple, comment évolue le volume de trafic de l'API sur une période donnée ? Quelle est l'API la plus utilisée ? Quelles API enregistrent des taux d'erreur élevés ?

L'analyse régulière de ces données et insights peut vous aider à prendre les mesures appropriées, comme la planification de la capacité future des API en fonction de l'utilisation actuelle, des décisions commerciales et d'investissement futures, et bien plus encore.

Données Analytics et stockage

API Analytics capture de nombreux types de données différents, par exemple:

  • Informations sur une API : URI de requête, adresse IP du client, codes d'état de la réponse, etc.
  • Performances du proxy d'API : taux de réussite/d'échec, temps de traitement des requêtes et des réponses, etc.
  • Performances du serveur cible : taux de réussite/d'échec, temps de traitement
  • Informations d'erreur : nombre d'erreurs, code d'erreur, règle défaillante, nombre d'erreurs causées par Apigee et le serveur cible.
  • Autres informations : nombre de requêtes effectuées par les développeurs, les applications de développeurs, etc.

Toutes ces données sont stockées dans un schéma analytics créé et géré dans une base de données Postgres par Apigee Edge.

Dans une installation standard d'Edge, Postgres présente généralement les schémas suivants:

Le schéma nommé analytics est utilisé par Edge pour stocker toutes les données analytiques de chaque organisation et de chaque environnement. Si la monétisation est installée, un schéma rkms est présent. Les autres schémas sont destinés aux composants internes de Postgres.

Le schéma analytics continuera d'évoluer, car Apigee Edge y ajoutera dynamiquement de nouvelles tables de faits au moment de l'exécution. Le composant du serveur Postgres agrège les données factuelles dans des tables agrégées qui sont chargées et affichées dans l'interface utilisateur Edge.

Antimodèle

Il est déconseillé d'ajouter des colonnes, des tables et/ou des vues personnalisées à l'un des schémas appartenant à Apigee dans la base de données Postgres sur des environnements cloud privés directement à l'aide de requêtes SQL, car cela peut avoir des conséquences négatives.

Prenons un exemple pour expliquer cela plus en détail.

Imaginons qu'une table personnalisée nommée account ait été créée dans le schéma d'analyse, comme indiqué ci-dessous:

Après un certain temps, supposons qu'il soit nécessaire de passer d'une version inférieure à une version supérieure d'Apigee Edge. La mise à niveau d'Apigee Edge pour le cloud privé implique la mise à niveau de Postgres, entre autres composants. Si des colonnes, des tables ou des vues personnalisées sont ajoutées à la base de données Postgres, la mise à niveau de Postgres échoue avec des erreurs faisant référence aux objets personnalisés, car ils ne sont pas créés par Apigee Edge. Par conséquent, la mise à niveau d'Apigee Edge échoue également et ne peut pas être effectuée.

De même, des erreurs peuvent se produire lors des activités de maintenance d'Apigee Edge, lors desquelles la sauvegarde et la restauration des composants Edge, y compris de la base de données Postgres, sont effectuées.

Impact

  • La mise à niveau d'Apigee Edge ne peut pas être effectuée, car la mise à niveau du composant Postgres échoue avec des erreurs faisant référence à des objets personnalisés non créés par Apigee Edge.
  • Incohérences (et échecs) lors de la maintenance du service Apigee Analytics (sauvegarde/restauration).

Bonne pratique

  • N'ajoutez aucune information personnalisée sous la forme de colonnes, de tables, de vues, de fonctions et de procédures directement à l'un des schémas appartenant à Apigee, tels que analytics, etc.
  • Si vous devez prendre en charge des informations personnalisées, vous pouvez les ajouter en tant que colonnes (champs) à l'aide d'une règle StatisticsCollector dans le schéma analytics.

Documentation complémentaire