Cette page explique comment utiliser les métriques d'API pour suivre et analyser 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 l'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 :
Accédez à la section API et services de Cloud Console. 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 :
- 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.
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)
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.
Métriques disponibles
Le tableau suivant présente les métriques serviceruntime
disponibles.
Les métriques d'utilisation de l'API sont celles qui incluent
consumed_api
comme ressource surveillée.
Les chaînes "Type de métrique" de ce tableau doivent être précédées du préfixe serviceruntime.googleapis.com/
. Ce préfixe a été omis dans les entrées du tableau.
Lorsque vous interrogez une étiquette, utilisez le préfixe metric.labels.
(par exemple, metric.labels.LABEL="VALUE"
).
Type de métrique Étape de lancement (niveaux de la hiérarchie des ressources) Nom à afficher |
|
---|---|
Genre, type, unité Ressources surveillées |
Description Libellés |
api/request_count
GA
(projet)
Nombre de requêtes |
|
DELTA , INT64 , 1
api consumed_api produced_api |
Nombre de requêtes terminées. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 1 800 secondes.
protocol : protocole de la requête, par exemple "http", "grpc".
response_code : code de réponse HTTP pour les requêtes HTTP ou code équivalent HTTP pour les requêtes gRPC. Consultez la mise en correspondance du code sur https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto.
response_code_class : classe de code de réponse pour les requêtes HTTP ou classe équivalente HTTP pour les requêtes gRPC, par exemple "2xx", "4xx".
grpc_status_code : code de réponse gRPC numérique pour les requêtes gRPC, ou code équivalent gRPC pour les requêtes HTTP. Consultez la mise en correspondance du code sur https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto.
|
api/request_latencies
GA
(projet)
Latences des requêtes |
|
DELTA , DISTRIBUTION , s
api consumed_api produced_api |
Distribution des latences en secondes pour les requêtes non diffusées en continu. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 1 800 secondes. |
api/request_latencies_backend
GA
(project)
Latences de backend des requêtes |
|
DELTA , DISTRIBUTION , s
api produced_api |
Distribution des latences du backend en secondes pour les requêtes non diffusées en continu. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 1 800 secondes. |
api/request_latencies_overhead
GA
(project)
Latences des frais généraux de requête |
|
DELTA , DISTRIBUTION , s
api produced_api |
Distribution des latences de requête en secondes pour les requêtes non diffusées en continu, à l'exclusion du backend. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 1 800 secondes. |
api/request_sizes
GA
(projet)
Tailles des requêtes |
|
DELTA , DISTRIBUTION , By
api consumed_api produced_api |
Distribution des tailles de requête en octets enregistrées à la fin de la requête. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 1 800 secondes. |
api/response_sizes
GA
(projet)
Tailles des réponses |
|
DELTA , DISTRIBUTION , By
api consumed_api produced_api |
Distribution des tailles de réponse en octets enregistrées à la fin de la requête. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 1 800 secondes. |
quota/allocation/usage
GA
(projet, dossier, organisation)
Utilisation du quota d'allocation |
|
GAUGE , INT64 , 1
consumer_quota producer_quota |
Quota d'allocation total consommé. Les valeurs supérieures à 1/min sont supprimées. Si aucune modification n'est reçue concernant l'utilisation des quotas, la dernière valeur est répétée au moins toutes les 24 heures. Échantillonné toutes les 60 secondes.
quota_metric : nom de la métrique ou du groupe de quotas.
|
quota/concurrent/exceeded
ALPHA
(project, folder, organization)
Quota simultané dépassé |
|
DELTA , INT64 , 1
consumer_quota |
Nombre de tentatives de dépassement du quota simultané. Échantillonné toutes les 86 400 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 180 secondes.
limit_name : nom de la limite de quota, par exemple "Requêtes par jour" ou "Adresses IP utilisées".
quota_metric : nom de la métrique ou du groupe de quotas.
time_window : taille de la fenêtre pour les limites d'opérations simultanées.
|
quota/concurrent/limit
ALPHA
(project, folder, organization)
Limite de quota simultané |
|
GAUGE , INT64 , 1
consumer_quota producer_quota |
Limite simultanée du quota. Échantillonné toutes les 86 400 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 180 secondes.
limit_name : nom de la limite de quota, par exemple "Requêtes par jour" ou "Adresses IP utilisées".
quota_metric : nom de la métrique ou du groupe de quotas.
time_window : taille de la fenêtre pour les limites d'opérations simultanées.
|
quota/concurrent/usage
ALPHA
(projet, dossier, organisation)
Utilisation du quota simultané |
|
GAUGE , INT64 , 1
consumer_quota producer_quota |
Utilisation simultanée du quota. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 180 secondes.
limit_name : nom de la limite de quota, par exemple "Requêtes par jour" ou "Adresses IP utilisées".
quota_metric : nom de la métrique ou du groupe de quotas.
time_window : taille de la fenêtre pour les limites d'opérations simultanées.
|
quota/exceeded
GA
(projet, dossier, organisation)
Erreur "Quota autorisé dépassé" |
|
GAUGE , BOOL , 1
consumer_quota |
L'erreur s'est produite lorsque la limite de quota a été dépassée. Échantillonné toutes les 60 secondes.
limit_name : nom de la limite de quota, par exemple "Requêtes par jour" ou "Adresses IP utilisées".
quota_metric : nom de la métrique ou du groupe de quotas.
|
quota/limit
GA
(projet, dossier, organisation)
Limite de quota |
|
GAUGE , INT64 , 1
consumer_quota producer_quota |
Limite du quota. Échantillonné toutes les 86 400 secondes.
limit_name : nom de la limite de quota, par exemple "Requêtes par jour" ou "Adresses IP utilisées".
quota_metric : nom de la métrique ou du groupe de quotas.
|
quota/rate/net_usage
GA
(projet, dossier, organisation)
Taux d'utilisation des quotas |
|
DELTA , INT64 , 1
consumer_quota producer_quota |
Quota total de tarifs utilisés. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 240 secondes.
method : nom de la méthode API, par exemple "disks.list".
quota_metric : nom de la métrique ou du groupe de quotas.
|
reserved/metric1
ACCÈS_ANTICIPÉ
(projet)
Obsolète |
|
DELTA , INT64 , 1
deprecated_resource |
Obsolète. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 180 secondes.
quota_name : obsolète.
credential_id : obsolète.
quota_location : obsolète.
|
Tableau généré le 21-02-2025 à 16:55:53 UTC.
Pour afficher les métriques de l'API dans l'explorateur de métriques, sélectionnez l'API Consumed (API consommée) comme type de ressource, puis sélectionnez l'une des métriques serviceruntime
. Utilisez ensuite les options de filtrage et d'agrégation pour affiner vos données.
Une fois que vous avez trouvé les informations d'utilisation de l'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 à 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
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.