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.
Consultez la documentation Apigee X.
en savoir plus

Edge API Analytics est une fonctionnalité intégrée très puissante fournie par Apigee Edge. Elle collecte et analyse un large éventail de données qui transitent entre les API. Les données d'analyse capturées peuvent fournir des informations très utiles. Par exemple, quelle est l'évolution du volume du trafic des API sur une période donnée ? Quelle est l'API la plus utilisée ? Quelles API présentent des taux d'erreur élevés ?

Une analyse régulière de ces données et insights permet de prendre les mesures appropriées, telles que la planification future de la capacité des API en fonction de l'utilisation actuelle, de l'activité commerciale et des décisions d'investissement futures, et bien plus encore.

Données Analytics et leur stockage

API Analytics capture de nombreux types de données différents, tels que:

  • Informations sur une API : URI de la requête, adresse IP du client, codes d'état de réponse, etc.
  • Performances des proxys d'API - taux de réussite/échec, temps de traitement des demandes et des réponses, etc.
  • Performances du serveur cible - Taux de réussite/d'échec, délai de traitement
  • Informations sur les erreurs : nombre d'erreurs, code d'erreur, stratégie de défaillance, nombre d'erreurs provoquées par Apigee et le serveur cible.
  • Autres informations : nombre de demandes effectuées par des développeurs, des applications pour 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.

En règle générale, dans une installation vanilla Edge, Postgres posera le schéma suivant:

Le schéma nommé analytics est utilisé par Edge pour stocker toutes les données d'analyse de chaque organisation et environnement. Si la monétisation est installée, un schéma rkms sera appliqué. D'autres schémas sont destinés aux éléments internes de Postgres.

Le schéma analytics continuera de changer, car Apigee Edge y ajoutera de manière dynamique de nouvelles tables de faits au moment de l'exécution. Le composant serveur Postgres agrège les données de fait 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 directement 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 le cloud privé à l'aide de requêtes SQL, car cela peut avoir des conséquences négatives.

Prenons un exemple pour expliquer cela en détail.

Prenons l'exemple d'une table personnalisée nommée account qui a été créée sous le schéma d'analyse, comme indiqué ci-dessous:

Au bout d'un certain temps, supposons qu'il soit nécessaire de mettre à niveau Apigee Edge d'une version antérieure à une version supérieure. La mise à niveau du cloud privé Apigee Edge implique, entre autres, la mise à niveau de Postgres. Si des colonnes, des tables ou des vues personnalisées ont été ajoutées à la base de données Postgres, la mise à niveau de Postgres échoue et génère des erreurs qui font référence aux objets personnalisés, car ils ne sont pas créés par Apigee Edge. Ainsi, la mise à niveau d'Apigee Edge échoue également et ne peut pas être terminée.

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

Impact

  • Impossible de mettre à niveau Apigee Edge, 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 défaillances) lors de la maintenance du service Apigee Analytics (sauvegarde/restauration).

Bonnes pratiques

  • N'ajoutez pas d'informations personnalisées sous forme de colonnes, de tables, de vues, de fonctions et de procédures directement à un schéma appartenant à Apigee, tel que analytics, etc.
  • Si vous avez besoin de prendre en charge des informations personnalisées, elles peuvent être ajoutées sous forme de colonnes (champs) à l'aide d'une stratégie du collecteur de statistiques au schéma analytics.

Complément d'informations