Contrôler votre utilisation des API

La plupart des API Cloud envoient une télémétrie détaillée sur votre utilisation de l'API. Cela peut être utile pour suivre votre consommation globale et vos performances, et peut vous aider à découvrir des interactions négatives entre votre logiciel et les services Google. Elles peuvent également vous indiquer si les services Google Cloud se comportent de manière anormale et réduisent considérablement les délais de résolution lorsqu'une assistance de Google est requise en phase de dépannage.

Les métriques fournies par ces API sont les signaux clés que les ingénieurs de Google chargés de la fiabilité du site utilisent pour évaluer l'état d'un service. Elles sont le trafic global, le taux d'erreur et la latence (à des centiles différents). Les métriques que vous voyez sont spécifiques à l'utilisation de l'API par votre projet et ne reflètent pas nécessairement l'utilisation ou les performances d'autres utilisateurs.

Vous pouvez afficher les métriques d'API à deux endroits : dans le tableau de bord des API ou dans la suite des opérations Google Cloud.

  • Le tableau de bord des API vous offre un affichage standard de votre utilisation, avec des graphiques prédéfinis sur chaque page de détails de l'API. Toutes les métriques utilisées sur cette page sont également publiées dans la suite d'opérations de Google Cloud.
  • La suite d'opérations de Google Cloud vous permet de configurer une surveillance fiable pour votre application en ajoutant ces métriques à des tableaux de bord personnalisés, en établissant des références croisées avec les autres métriques disponibles (y compris celles envoyées par votre application et les métriques spécifiques au service fournies par GCP, telles que les informations de file d'attente pour Pub/Sub ou les données d'interrogation pour Spanner) et en configurant des alertes pour vous avertir du comportement inhabituel d'une application.

Vous trouverez une documentation détaillée sur les métriques d'API dans la documentation Cloud Monitoring.

Utiliser le tableau de bord des API

Le moyen le plus simple d'obtenir un résumé des métriques de l'API est le tableau de bord des API de la console Cloud Platform. Vous pouvez afficher un aperçu de toutes vos métriques d'utilisation des API ou afficher le détail de votre utilisation pour une API spécifique.

Pour afficher une vue d'ensemble de vos métriques d'utilisation dans la console, accédez à la section API et services de votre projet Google Cloud. Le tableau de bord des API principal est affiché 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 : le nombre de requêtes par seconde adressées par votre projet à toutes vos API activées.
  • Erreurs : le pourcentage de vos requêtes adressées à vos API activées qui ont entraîné des erreurs.

Si vous avez des API activées compatibles avec les métriques de latence, vous verrez également ce qui suit :

  • Latence médiane : la latence médiane de vos requêtes.

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

  1. Sélectionnez l'API à afficher dans la liste principale des API du tableau de bord des API. La page d'aperçu de l'API affiche un graphique de 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

    Si l'API accepte les métriques de latence, vous verrez également ce qui suit :

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

Utiliser la suite d'opérations de Google Cloud

Si vous utilisez la suite d'opérations de Google Cloud, vous pouvez obtenir une vision plus détaillée des métriques disponibles à l'aide de l'Explorateur de métriques, vous permettant ainsi de mieux comprendre votre utilisation des API. La suite d'opérations de Google Cloud est compatible avec de nombreuses métriques auxquelles vous pouvez associer des filtres et des agrégations afin d'obtenir de nouvelles vues pertinentes des performances de vos applications. 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 l'API Consumed comme type de ressource, puis utilisez les options de filtre et d'agrégation pour affiner vos données. Une fois que vous avez trouvé les informations sur l'utilisation des API souhaitées, vous pouvez utiliser la suite d'opérations de Google Cloud pour créer des tableaux de bord et des alertes personnalisés qui vous permettront de continuer à surveiller et à gérer la fiabilité d'une application. 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 allant vers l'API est élevé. Si vous appelez un service uniquement par intermittence, vos métriques d'API ne seront pas statistiquement valides et ne vous fourniront pas d'informations de triage significatives.

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

Les API suivantes sont compatibles avec toutes nos mesures d'utilisation, y compris les mesures de latence. D'autres API fournissent uniquement des métriques de trafic et d'erreur.