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

Vous consultez la documentation Apigee Edge.
Accédez à la documentation**Apigee X**.
info

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 par les API. Les données analytiques capturées peuvent fournir des insights très utiles. Par exemple, comment le volume de trafic de l'API évolue-t-il sur une période donnée ? Quelle est l'API la plus utilisée ? Quelles API présentent des taux d'erreur élevés ?

L'analyse régulière de ces données et insights peut être utilisée pour prendre des mesures appropriées, telles que la planification future de la capacité des API en fonction de l'utilisation actuelle, des décisions commerciales et d'investissement futures, et bien plus encore.

Données analytiques et leur stockage

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

  • Informations sur une API : URI de la demande, adresse IP 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 sur les erreurs : nombre d'erreurs, code d'erreur, règle en échec, 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éveloppeur, etc.

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

En règle générale, dans une installation Edge standard, Postgres comporte les schémas suivants :

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

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

Antimodèle

Il n'est pas 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 de cloud privé directement à l'aide de requêtes SQL, car cela peut avoir des conséquences négatives.

Prenons un exemple pour expliquer cela en détail.

Supposons qu'une table personnalisée nommée account ait été créée sous le schéma d'analyse, comme illustré ci-dessous :

Après un certain temps, supposons qu'il soit nécessaire de mettre à niveau Apigee Edge d'une version inférieure vers une version supérieure version. 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 terminée.

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

Impact

  • La mise à niveau d'Apigee Edge ne peut pas être terminé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).

Bonnes pratiques

  • N'ajoutez aucune information personnalisée sous forme de colonnes, de tables, de vues, de fonctions et de procédures directement à l'un des schémas appartenant à Apigee, tel 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 au analytics schéma.

Documentation complémentaire