Surveiller l'utilisation des API

Cette page explique comment utiliser les métriques des API pour suivre et comprendre votre utilisation des API Google et des API Google Cloud.

Les API Google génèrent des métriques d'utilisation détaillées qui peuvent vous aider à :

  • suivre et analyser votre utilisation des API Google ;
  • surveiller les performances de vos applications et de vos API Google ;
  • détecter les problèmes entre vos applications et les API Google.

Ces métriques peuvent considérablement accélérer les délais de résolution des problèmes en cas de besoin, ou lorsque vous utilisez l'assistance technique de Google.

Les métriques produites par les API Google correspondent aux signaux standards que les ingénieurs en fiabilité des sites (SRE) de Google utilisent pour évaluer l'état d'un service. Ces métriques couvrent le nombre de requêtes, les taux d'erreur, les latences totales, les latences de backend, la taille des requêtes et la taille des réponses. Pour les définitions de métriques d'API, consultez la documentation Cloud Monitoring.

Vous pouvez afficher les métriques d'API à deux endroits : le tableau de bord des API et Cloud Monitoring. Les métriques que vous voyez sont spécifiques à votre projet et ne reflètent pas l'état général du service.

Utiliser le tableau de bord des API

Le moyen le plus simple d'afficher les métriques de votre API consiste à utiliser le tableau de bord des API de la console Google Cloud. Vous pouvez afficher un aperçu de l'ensemble de l'utilisation de votre API ou afficher le détail de votre utilisation pour une API spécifique.

Pour afficher un aperçu de votre utilisation de l'API, procédez comme suit :

  1. Accédez à la section API et services de la console Cloud. Le tableau de bord principal des API s'affiche par défaut. Sur cette page, vous pouvez voir toutes les API que vous avez actuellement activées pour votre projet, ainsi que des graphiques de présentation pour les métriques suivantes :

    • Trafic : nombre de requêtes par seconde adressées par votre projet aux API activées ou en rapport avec votre projet
    • Erreurs : pourcentage de requêtes adressées à des API activées ayant entraîné des erreurs
    • Latence médiane : latence médiane des requêtes adressées aux API activées, le cas échéant

Pour afficher les détails d'utilisation d'une API spécifique :

  1. Sélectionnez l'API que vous souhaitez afficher dans la liste principale des API du tableau de bord des API. La page "Présentation" de l'API affiche un graphique du trafic plus détaillé avec une répartition par code de réponse.
  2. Pour des informations d'utilisation encore plus détaillées, sélectionnez Afficher les métriques. Par défaut, les graphiques prédéfinis suivants sont affichés, bien que d'autres soient disponibles :

    • Trafic par code de réponse
    • Erreurs par méthode API
    • Latence globale au 50e, 95e et 99e centile
    • Latence par méthode API (médiane)
  3. Si vous souhaitez ajouter d'autres graphiques, vous pouvez sélectionner d'autres graphiques prédéfinis dans le menu déroulant Sélectionner des graphiques.

Utiliser Cloud Monitoring

Si vous utilisez Cloud Monitoring, vous pouvez accéder à l'Explorateur de métriques afin d'approfondir l'analyse des données de métriques disponibles et obtenir un meilleur aperçu de votre utilisation de l'API. Cloud Monitoring accepte une grande variété de métriques que vous pouvez associer à des filtres et des agrégations pour créer de nouvelles vues pertinentes des performances de votre application. Par exemple, vous pouvez associer une métrique du nombre de requêtes avec un filtre sur la classe Code de réponse HTTP pour créer un tableau de bord indiquant les taux d'erreur au fil du temps, ou vous pouvez regarder la latence au 95e centile des requêtes adressées à l'API Cloud Pub/Sub.

Pour afficher les métriques de l'API dans l'Explorateur de métriques, sélectionnez API Consumed comme type de ressource, puis sélectionnez l'une des métriques serviceruntime. Utilisez ensuite les options de filtre et d'agrégation pour affiner vos données. Une fois que vous avez trouvé les informations d'utilisation d'API souhaitées, vous pouvez utiliser Cloud Monitoring pour créer des tableaux de bord et des alertes personnalisés vous permettant de continuer à surveiller et à maintenir une application robuste. Consultez les pages suivantes pour obtenir la marche à suivre :

Pour plus d'informations, voir Explorateur de métriques.

Dépanner à l'aide des métriques d'API

Les métriques d'API peuvent être particulièrement utiles si vous devez contacter Google en cas de problème et peuvent même vous montrer que vous n'avez pas besoin de contacter l'assistance. Exemple :

  • Si tous vos appels vers un service échouent pour un identifiant unique, mais pas pour un autre, le problème est probablement lié à ce compte. vous pouvez facilement le réparer vous-même sans ouvrir de ticket.
  • Vous résolvez un problème avec votre application et vous remarquez une corrélation entre la dégradation des performances de cette application et une augmentation soutenue de la latence au 50e centile d'un service GCP essentiel. Appelez-nous et indiquez-nous ces données afin que nous puissions commencer à travailler sur le problème aussi rapidement que possible.
  • Les latences pour un rapport de service GCP semblent correctes et inchangées par rapport à ce qui précède, mais vos métriques intégrées dans l'application indiquent que la latence des appels au service est anormalement élevée. Cela vous indique qu'il y a des problèmes dans le réseau. Appelez votre fournisseur de réseau (dans certains cas, Google) pour lancer le processus de débogage.

Bonnes pratiques

Bien que les métriques d'API soient un outil extrêmement utile, vous devez prendre en compte certains problèmes pour vous assurer qu'elles fournissent des informations utiles, en particulier lors de la configuration d'alertes basées sur des valeurs de métriques. Les bonnes pratiques suivantes vous aideront à tirer le meilleur parti des données de métriques d'API.

La latence est-elle problématique ?

Si certains services sont très sensibles au temps de latence, pour d’autres, l’échelle et la fiabilité importent davantage. Certaines API, telles que Cloud Storage ou BigQuery par exemple, peuvent avoir quelques secondes de latence élevée sans que les clients le remarquent. Avec les données des métriques d'API, vous pouvez connaître les besoins de vos utilisateurs pour un service donné.

Rechercher les modifications apportées à la norme

Avant de décider de vous alerter sur une valeur de métrique donnée, déterminez ce qui constitue réellement un comportement inhabituel. L'analyse des métriques de votre API peut vous montrer que les résultats de latence pour la plupart des services relèvent d'une distribution normale : une grosse bosse au milieu et des valeurs aberrantes des deux côtés. Les métriques vous aideront à comprendre la distribution normale afin que vous puissiez concevoir que votre application fonctionne correctement dans la courbe de distribution. Les métriques peuvent également vous aider à mettre en corrélation les modifications de la distribution avec les heures où votre application ne fonctionne pas comme prévu, pour vous aider à trouver la cause première d'un problème. Nous nous attendons à ce que le 99e centile soit très différent de la médiane. Nous ne prévoyons pas de changements spectaculaires de ces centiles au fil du temps.

Vous constaterez également que certains types de requêtes prennent plus de temps que d’autres. Si la taille moyenne d'une photo importée dans Google Photos est de 4 Mo mais que vous importez normalement des fichiers RAW de 20 Mo, la durée moyenne de chargement de 20 photos risque d'être bien pire que celle de la plupart des utilisateurs. Toutefois, votre comportement sera toujours considéré comme normal.

Tout cela signifie qu'il n'est pas particulièrement utile d'alerter la première fois qu'un appel RPC ou HTTP 5xx d'une seconde est détecté. Lorsque vous examinez un service Google en tant que cause possible d'un problème rencontré par votre application, comparez les codes renvoyés et les taux de latence dans le temps et recherchez des modifications durables de la norme corrélées aux problèmes observés dans votre application.

Taux de trafic

Les métriques d'API sont particulièrement utiles lorsque le volume de trafic vers l'API est élevé. Si vous appelez un service par intermittence, les métriques de votre API ne seront pas valides d'un point de vue statistique et ne vous donneront pas d'informations de tri pertinentes.

Par exemple, si vous souhaitez suivre la latence du 99,5e centile pour un service et que vous ne faites que 100 appels par heure, surveiller la mesure sur une période de deux heures ne vous donnera qu'un point de données pour représenter le 99,5e centile, ce qui ne vous en dira pas beaucoup sur le comportement normal de l'API ou de votre application. Assurez-vous que le taux de trafic, le centile que vous suivez et la période en question génèrent de nombreux points de données d’intérêt, sans quoi les données de surveillance ne vous seront pas utiles.

API compatibles

Toutes les API Google et Google Cloud, ainsi que les API basées sur Cloud Endpoints et la passerelle API, sont compatibles avec les métriques d'API. Si vous êtes utilisateur d'une API, vous pouvez afficher les métriques de l'API consommée dans le tableau de bord des API. Si vous êtes producteur d'une API, vous pouvez afficher les métriques de l'API produite dans le tableau de bord Endpoints.