Cette page a été traduite par l'API Cloud Translation.
Switch to English

Utiliser des métriques de quota

Cette page explique comment créer des règles d'alerte et des graphiques pour surveiller les quotas alloués par Google Cloud. Google Cloud établit un certain nombre de quotas que vous pouvez utiliser pour suivre et limiter les ressources utilisées par un projet ou une organisation. Pour obtenir des informations générales sur les quotas, y compris les quotas d'allocation et les quotas de débit, consultez la page Utiliser des quotas.

Avant de commencer

Cette page part du principe que vous maîtrisez les données de séries temporelles et leur utilisation. Les pages suivantes fournissent des informations supplémentaires:

  • Pour connaître les définitions des termes gage, delta et cumulé, consultez la section Genre de métriques.
  • Pour plus d'informations sur les champs utilisés pour combiner des séries temporelles, consultez Aligner et Reducer.

Utiliser des métriques de quota

Cloud Monitoring gère le quota de deux manières:

  1. Quota du client. Pour ce type de quota, la ressource surveillée est consumer_quota. Les métriques de cette ressource constituent un sous-ensemble des métriques serviceruntime.

    La plupart des exemples de cette page sont des exemples de quotas de consommation.

  2. Quotas spécifiques aux ressources. Certains services fournissent des ressources surveillées qui disposent de métriques spécifiques aux ressources pour les quotas. Ces types de métriques s'affichent par groupes de trois, selon le modèle suivant:

    • service/quota/quota-type/exceeded
    • service/quota/quota-type/limit
    • service/quota/quota-type/usage

    Par exemple, Compute Engine possède la ressource compute.googleapis.com/VpcNetwork. Les métriques relatives aux quotas associées à cette ressource constituent le sous-ensemble compute.googleapis.com/quota des métriques compute. Il existe trois types de métriques liés au quota "instances par réseau VPC" :

Identifier les métriques de quota et les noms de limite

Les données brutes relatives à la consommation des quotas, en particulier pour le quota du consommateur, peuvent inclure des informations sur de nombreux types de quotas individuels. Pour extraire des informations sur un type de quota spécifique pour un graphique ou une règle d'alerte, vous devez identifier le sous-ensemble de données de quota.

Selon la source, les données de quota peuvent inclure des étiquettes que vous pouvez utiliser pour isoler les informations souhaitées:

  • Métrique de quota: la métrique de quota est un identifiant pour un type de quota. La métrique de quota ne fait pas partie des types de métriques décrits dans la liste des métriques. Par exemple, toutes les données de quota du client sont écrites en tant que type de métrique serviceruntime.googleapis.com, comme quota/allocation/usage. Ce type de métrique possède un libellé quota_metric qui peut être utilisé pour filtrer les données d'utilisation d'allocation.
  • Nom de la limite: ce nom identifie une limite pour un type de quota spécifique. Vous pouvez associer plusieurs limites à un quota. Par exemple, un quota pour les appels en lecture peut être défini sur une limite de 100 minutes et par limite de 1 000 par jour, avec deux noms de limite.readsPerMinute etreadsPerDay s'affiche en haut de l'écran.Quota-related metric types might have a limit_name` pour cette valeur.

Tous les types de métriques serviceruntime.googleapis.com/quota fournissent l'étiquette quota_metric, mais seuls certains incluent le libellé limit_name. Les types de métriques spécifiques aux ressources pour les quotas incluent l'étiquette limit_name.

Pour identifier des métriques de quota et des noms de limite spécifiques, vous pouvez procéder comme suit:

  1. Dans Google Cloud Console, accédez à la page Quotas de l'administrateur:

    Accéder à la section "Quotas"

  2. Recherchez le quota désiré, puis cliquez sur Tous les quotas.

  3. Si un service accepte les métriques de quota, les champs Metric Metric (Métrique de quota) et Limit Name (Nom de la limite) s'affichent. Par exemple, la capture d'écran suivante pour le quota de sous-réseaux d'API Compute Engine montre que la métrique de quota est compute.googleapis.com/subnetworks et que le nom de la limite est SUBNETWORKS-per-project:

    Exemple de page d'informations sur une métrique de quota.

Si les informations détaillées ne répertorient pas une métrique de quota ou un nom de limite, le service n'est pas compatible avec les métriques de quota.

Si les informations détaillées n'incluent pas de ressource surveillée, la ressource surveillée est consumer_quota. Sinon, ce quota est spécifique à la ressource pour la ressource surveillée nommée.

Exemple: Afficher l'utilisation d'une métrique de quota client spécifique

L'objectif est de créer un graphique qui affiche, par région, le quota de stockage sur disque total de Compute Engine. Cet exemple de quota du client extrait les données quota/allocation/usage, puis filtre les données pour que l'utilisation d'allocation pour une métrique de quota spécifique s'affiche:

  1. Dans Google Cloud Console, sélectionnez "Surveillance", puis "Explorateur de métriques".

  2. Configurez l'explorateur de métriques afin d'afficher l'utilisation du quota d'allocation. Pour ce faire, définissez "Resource type" (Type de ressource) sur Consumer Quota (Quota du client), et définissez "Metric" (Métrique) sur Allocation quota usage (Utilisation du quota d'allocation) :

    Sélection du quota du client.

    Il indique l'utilisation du quota d'allocation sous forme de graphique à barres pour une période de six semaines. Les différents services représentés sur le graphique sont répertoriés dans la légende.

    Si vous utilisez l'API Cloud Monitoring, la valeur de filtre correspondante est la suivante :

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
    
  3. Pour limiter l'affichage au seul service Compute Engine, ajoutez le filtre service = "compute.googleapis.com", comme sur graphique ci-dessous :

    Filtrage du quota de client sur le service Compute Engine.

    Si vous utilisez l'API Cloud Monitoring, la valeur de filtre correspondante est la suivante :

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
    

    Le graphique affiche maintenant les séries temporelles associées à l'utilisation du quota d'allocation pour ce qui concerne les quotas Compute Engine. Pour chaque série temporelle, la valeur du libellé quota_metric est affichée dans la légende. Cette valeur identifie chacun des quotas. Par exemple, compute.googleapis.com/disks_total_storage identifie que la série temporelle correspond au quota de stockage total de disque de Compute Engine. Le graphique n'affiche l'utilisation des quotas que pour les quotas qui ont été effectivement utilisés. Par exemple, si un projet ne possède pas de ressources Compute Engine, ce filtre donne un graphique vide, car il n'y a aucune donnée d'usage.

  4. Pour créer un graphique affichant l'utilisation de l'espace de stockage total sur disque de Compute Engine, ajoutez le filtre quota_metric = "compute.googleapis.com/disks_total_storage", comme sur le graphique ci-dessous :

    Filtrage du quota de client sur la métrique de quota.

    Si vous utilisez l'API Cloud Monitoring, la valeur de filtre correspondante est la suivante :

    metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
    
  5. Le graphique précédent affiche les séries temporelles pour les régions us-centra1 et us-east1, ainsi que pour plusieurs zones, y compris la zone us-central1-a. Pour afficher l'utilisation du quota dans certaines régions, ajoutez un filtre basé sur le libellé location. Dans cet exemple, où les deux régions commencent par us- et se terminent par 1, un filtre utilisant une expression régulière, en l'occurrence location =~"^us.*1$", fonctionne bien :

    Filtrage sur la métrique de quota et sur la région.

Pour le quota du consommateur, la valeur de l'étiquette quota_metric identifie à la fois le service et l'utilisation spécifique du quota surveillé. Vous pouvez utiliser ces informations pour créer des graphiques ou des règles d'alerte qui surveillent une métrique de quota spécifique.

Règles d'alerte dans Cloud Monitoring

Une règle d'alerte est un ensemble de conditions et d'informations de notification :

  • Une condition décrit ce qui est surveillé, comment les données de séries temporelles de cette ressource doivent être combinées et le moment où une alerte doit être générée. Une règle d'alerte doit spécifier au moins une condition.
  • Le canal de notification indique qui doit être averti et comment il doit être averti lorsqu'une alerte se déclenche. Par exemple, vous pouvez configurer la règle d'alerte pour envoyer des e-mails à une personne spécifique ou à un groupe de personnes.

Il existe deux approches principales pour créer des conditions de règle d'alerte:

  • Utiliser des filtres Monitoring pour sélectionner et manipuler des données. Par exemple, lorsque vous utilisez l'interface graphique pour créer des conditions de règle d'alerte, vous créez des filtres. L'exemple présenté sur la page Comprendre les quotas de consommateur utilise cette approche.

  • Utiliser le langage MQL (Monitoring Query Language) pour sélectionner et manipuler des données MQL est un langage de requête textuel. Avec l'éditeur de requête MQL, vous pouvez créer des requêtes que vous ne pouvez pas créer avec le langage basé sur des filtres. Nous vous recommandons d'utiliser MQL pour créer des règles d'alerte basées sur un ratio. Pour en savoir plus, consultez la page Exemples de règles d'alerte MQL.

Cette page traite des deux approches. Vous pouvez également créer des graphiques en utilisant les deux approches.

Filtrer des exemples de règles d'alerte

Dans cette section, chaque sous-section comprend une représentation JSON d'une règle d'alerte, ainsi que deux tables qui décrivent comment configurer la règle dans Google Cloud Console:

  • Le premier tableau décrit ce qui est surveillé et la manière dont les données doivent être combinées.
  • Le deuxième tableau indique le moment où une alerte doit être générée.

Ces exemples concernent l'approche basée sur les filtres.

Aucune de ces stratégies calcule les ratios. Pour les exemples basés sur un ratio, consultez la section Exemples de règles d'alerte MQL.

Alertes sur les erreurs quota/exceeded

Vous pouvez créer des règles d'alerte pour vous avertir si un service de votre projet Google Cloud signale une erreur de dépassement de quota. Vous pouvez créer ce type de règle à l'aide de Google Cloud Console ou de l'API Cloud Monitoring.

Utiliser Google Cloud Console

La suite de cette sous-section concerne la boîte de dialogue des conditions d'une règle d'alerte.

Remplissez le champ Cible en utilisant les paramètres indiqués dans le tableau suivant. Ces paramètres indiquent que vous souhaitez surveiller l'erreur /quota/exceeded dans les données de la série temporelle pour la métrique serviceruntime pour tous les services de votre projet Google Cloud, et que vous souhaitez regrouper les données par limite de quota.

Champ du
volet Cible

Valeur
Type de ressource Saisissez consumer_quota.
Métrique Sélectionner serviceruntime.googleapis.com/quota/exceeded
Filter

Ajoutez un filtre pour que le graphique n'affiche que les données associées au service que vous souhaitez surveiller. Par exemple, pour surveiller le service de gestion de l'authentification et des accès, ajoutez le filtre suivant : service = iam.googleapis.com.

Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique.

Grouper par

Sélectionnez quota_metric.

Cette option regroupe les données en fonction du type de nom de l'élément quota_metric.

Agrégateur

Sélectionnez sum.

Le champ d'agrégation est automatiquement défini sur sum lorsque les données sont regroupées. Ce paramètre définit la façon dont les données de chaque série temporelle sont combinées.

Durée Sélectionnez 1 m.
Agrégation avancée Aligneur : count true

Cette métrique est de type GAUGE, ce qui signifie que chaque point de données de la série temporelle est une mesure instantanée. Le type de valeur est BOOL. La valeur true indique que le quota a été dépassé.

Pour cette métrique, les paramètres d'alignement de count true et count sont équivalents.

Renseignez les champs de la boîte de dialogue Configuration à l'aide des paramètres suivants. Ces paramètres entraînent la création d'une alerte par la règle d'alerte si le nombre d'erreurs de dépassement de quota dépasse un seuil de 0 pendant une minute. Dans le cas présent, la valeur 0 est sélectionnée, car les erreurs de dépassement de quota sont inattendues, et indiquent qu'un quota doit être augmenté ou qu'un service doit être modifié pour réduire les requêtes API. Vous pouvez utiliser un seuil plus élevé.

Volet Configuration
Champ

Valeur
Condition triggers if Any time series violates
Condition is above
Threshold 0
For 1 m

Utiliser l'API Cloud Monitoring

Vous pouvez créer cette règle d'alerte à l'aide de la méthode API alertPolicies.create. Vous pouvez appeler l'API Cloud Monitoring directement à l'aide de l'outil de ligne de commande gcloud ou de bibliothèques clientes. Pour plus d'informations, consultez la section Créer des règles.

Pour en savoir plus sur l'écriture des règles d'alerte au format JSON ou YAML, consultez la page Exemples de règles.

Voici une représentation de cette règle d'alerte au format JSON :


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "60s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_COUNT_TRUE"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "60s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Quota exceeded error by label.quota_metric SUM",
      }
    ],
    "displayName": "Quota exceeded policy",
  }

Alertes sur la valeur absolue quota/allocation/usage

Vous pouvez créer une règle d'alerte pour vous avertir si l'utilisation du quota d'allocation pour un service spécifique de votre projet Google Cloud dépasse un seuil défini par l'utilisateur. Vous pouvez créer ce type de règle à l'aide de Google Cloud Console ou de l'API Cloud Monitoring.

Utiliser Google Cloud Console

La suite de cette sous-section concerne la boîte de dialogue des conditions d'une règle d'alerte.

Remplissez le champ Cible en utilisant les paramètres indiqués dans le tableau suivant. Ces paramètres indiquent que vous souhaitez surveiller l'erreur /quota/allocation/usage dans les données de la série temporelle pour la métrique serviceruntime pour un service de votre projet Google Cloud, et que vous souhaitez regrouper les données par limite de quota.

Champ du
volet Cible

Valeur
Type de ressource Saisissez consumer_quota.
Métrique Sélectionner serviceruntime.googleapis.com/quota/allocation/usage
Filter

Ajoutez un filtre pour que le graphique n'affiche que les données associées au service que vous souhaitez surveiller. Par exemple, pour surveiller le service de gestion de l'authentification et des accès, ajoutez le filtre suivant : service = iam.googleapis.com.

Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique.

Grouper par

Sélectionnez quota_metric.

Cette option regroupe les données en fonction du type de nom de l'élément quota_metric.

Agrégateur

Sélectionnez sum.

Le champ d'agrégation est automatiquement défini sur sum lorsque les données sont regroupées. Ce paramètre définit la façon dont les données de chaque série temporelle sont combinées.

Durée Sélectionnez 1440 m.

La période correspond à l'intervalle d'échantillonnage pour cette métrique.

Agrégation avancée Aligneur : next older

L'aligneur est défini sur next older pour inclure la valeur mesurée de la métrique GAUGE.

Renseignez les champs de la boîte de dialogue Configuration à l'aide des paramètres suivants. Ces paramètres entraînent la création d'une alerte par la règle d'alerte si la valeur de la série temporelle dépasse 2,5 pendant 1 440 minutes. La valeur de 1 440 minutes correspond à la période d'alignement. La valeur de 2,5 a été sélectionnée dans cet exemple, car elle est légèrement supérieure à la valeur normale du système de test. Vous devez sélectionner le seuil en fonction du service que vous surveillez en association avec une analyse de la plage de valeurs attendue pour la métrique.

Volet Configuration
Champ

Valeur
Condition triggers if Any time series violates
Condition is above
Threshold 2.5
For 1440 m

Utiliser l'API Cloud Monitoring

Vous pouvez créer cette règle d'alerte à l'aide de la méthode API alertPolicies.create. Vous pouvez appeler l'API Cloud Monitoring directement à l'aide de l'outil de ligne de commande gcloud ou de bibliothèques clientes. Pour plus d'informations, consultez la section Créer des règles.

Pour en savoir plus sur l'écriture des règles d'alerte au format JSON ou YAML, consultez la page Exemples de règles.

Voici une représentation de cette règle d'alerte au format JSON :


{
    "combiner": "OR",
    "conditions": [
      {
        "conditionThreshold": {
          "aggregations": [
            {
              "alignmentPeriod": "86400s",
              "crossSeriesReducer": "REDUCE_SUM",
              "groupByFields": [
                "metric.label.quota_metric"
              ],
              "perSeriesAligner": "ALIGN_NEXT_OLDER"
            }
          ],
          "comparison": "COMPARISON_GT",
          "duration": "84600s",
          "filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
          "thresholdValue": 2.5,
          "trigger": {
            "count": 1
          }
        },
        "displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
      }
    ],
    "displayName": "Absolute quota usage policy",
  }

Exemples de règles d'alerte MQL

MQL est un langage de requête textuel qui utilise une série d'opérations associées à des canaux. MQL vous permet de créer des requêtes plus puissantes et plus flexibles que celles créées avec des filtres Monitoring. Nous vous recommandons d'utiliser MQL pour configurer des règles d'alerte basées sur un ratio. Par exemple, avec MQL, vous pouvez configurer un ratio d'utilisation du taux de débit, qui nécessite de calculer le ratio d'une métrique de jauge (limite) et une delta (taux).

Vous pouvez créer des règles d'alerte basées sur MQL à l'aide de Cloud Console ou de l'API Monitoring:

  • Cloud Console: utilisez l'éditeur de requête MQL lorsque vous créez la condition d'alerte. Pour afficher l'éditeur de requête, cliquez sur Éditeur de requête sur leMétrique dans le panneau des conditions. Pour en savoir plus sur l'utilisation de cet éditeur, consultez la page Utiliser l'éditeur de requête.

  • API Monitoring: utilisez la méthode alertPolicies.create et fournissez une condition de type MonitoringQueryLanguageCondition. Ce type de condition accepte une requête MQL en tant que valeur de champ. Pour plus d'informations sur l'utilisation de l'API Monitoring avec MQL, consultez la section Créer des conditions pour les règles d'alerte MQL.

Pour en savoir plus sur MQL, consultez la page Utiliser le langage de requête Monitoring. Pour en savoir plus sur les règles d'alerte basées sur MQL, consultez la page Règles d'alerte avec MQL.

Alerte de ratio sur l'utilisation du quota de débit pour une limite

Le schéma de requête MQL suivant décrit une alerte qui surveille le taux par minute d'utilisation d'un service de ressources spécifique supérieur à 80% de la limite spécifiée:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/rate/net_usage
    | align delta_gauge(1m)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sum(value.net_usage)
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'myApiLimitPerDay'
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Pour utiliser ce modèle de requête, apportez les modifications suivantes:

  • Remplacez sample.googleapis.com par le service que vous souhaitez surveiller.
  • Remplacez myApiLimitPerDay par la valeur metric.limit_name que vous souhaitez suivre. Pour en savoir plus sur la recherche des noms de limite, consultez la section Identifier les métriques de quota et les noms de limite.
  • Remplacez 1m dans les fonctions delta_gauge et sliding par une fenêtre appropriée pour la limite.

Ne modifiez pas l'opération every 1m, qui détermine la fréquence à laquelle la condition est vérifiée.

Vous ne pouvez pas créer cette requête avec des filtres.

Alerte de ratio sur l'utilisation du quota de débit avec des caractères génériques

MQL est compatible avec le filtrage avec caractères génériques, expressions régulières et logique booléenne. Par exemple, vous pouvez utiliser MQL pour créer une alerte qui suit plusieurs limites et vous avertit si l'une d'entre elles dépasse un certain seuil.

Le schéma de requête MQL suivant décrit une alerte qui surveille le taux d'utilisation par minute ou par jour de tout service de ressources dépassant 80%:

fetch consumer_quota
| filter resource.service =~ '.*'
| { { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(1m)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerMinute.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(1m), max(val()) }
    | ratio
  ; { metric serviceruntime.googleapis.com/quota/rate/net_usage
      | align delta_gauge(1d)
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sum(value.net_usage)
    ; metric serviceruntime.googleapis.com/quota/limit
      | filter metric.limit_name =~ '.*PerDay.*'
      | group_by [resource.project_id, metric.quota_metric, resource.location],
          sliding(1d), max(val()) }
    | ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')

Pour utiliser ce modèle de requête, apportez les modifications suivantes:

  • Remplacez l'expression régulière de resource.service par une expression régulière pour les services dont vous souhaitez effectuer le suivi.
  • Dans le premier ratio :
    • Remplacement.*PerMinute.* pour la valeurmetric.limit_name une expression régulière pour le premier groupe de limites dont vous souhaitez effectuer le suivi. Pour en savoir plus sur la recherche des noms de limite, consultez la section Identifier les métriques de quota et les noms de limite.
    • Remplacez 1m dans les fonctions delta_gauge et sliding par une fenêtre adaptée à vos limites.
  • Dans le deuxième ratio :
    • Remplacement.*PerDay.* pour la valeurmetric.limit_name avec une expression régulière pour le deuxième groupe de limites dont vous souhaitez effectuer le suivi.
    • Remplacez 1d dans les fonctions delta_gauge et sliding par une fenêtre adaptée à vos limites.

Ne modifiez pas l'opération every 1m, qui détermine la fréquence à laquelle la condition est vérifiée.

Vous ne pouvez pas créer cette requête avec des filtres.

Alerte de ratio sur l'utilisation du quota d'allocation pour une limite

Le modèle de requête MQL suivant décrit une alerte qui surveille le niveau d'utilisation quotidien par allocation de ressources d'un service spécifique au niveau supérieur:

fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUs-per-project'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Pour utiliser ce modèle de requête, apportez les modifications suivantes:

  • Remplacez sample.googleapis.com par le service que vous souhaitez surveiller.
  • Remplacez CPUs-per-project par la valeur metric.limit_name que vous souhaitez suivre. Pour en savoir plus sur la recherche des noms de limite, consultez la section Identifier les métriques de quota et les noms de limite.

Ne modifiez pas l'opération every 1m, qui détermine la fréquence à laquelle la condition est vérifiée.

Exemple: Utilisation du processeur de 75% dans n'importe quelle région

La requête suivante crée une règle d'alerte qui se déclenche lorsque l'utilisation du processeur de l'instance de VM Compute Engine dépasse la limite de 75% dans toute région:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-region'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.75 '1')

Cette règle de quota du client utilise le nom de la limite CPUS-per-project-region dans le quota "CPUs" de l'API Compute Engine. Pour en savoir plus sur la recherche des noms de limite, consultez la section Identifier les métriques de quota et les noms de limite.

Alerte de ratio sur l'utilisation du quota d'allocation pour n'importe quel service

MQL est compatible avec le filtrage avec les caractères génériques, les expressions régulières et la logique booléenne. Par exemple, vous pouvez utiliser MQL pour créer une alerte qui suit plusieurs limites ou services et vous avertit si l'un d'entre eux dépasse un certain seuil.

La requête MQL suivante décrit une alerte qui surveille si l'utilisation de l'allocation quotidienne par service dépasse 80% pour toute limite de quota:

fetch consumer_quota
| filter resource.service =~ '.*'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Vous pouvez utiliser cette requête telle qu'elle est présentée, ou vous pouvez remplacer l'expression régulière de resource.service par une expression régulière pour les services dont vous souhaitez effectuer le suivi. Vous pouvez également effectuer un filtrage sur un service spécifique et utiliser des caractères génériques dans un filtre de limite.

Ne modifiez pas l'opération every 1m, qui détermine la fréquence à laquelle la condition est vérifiée.

Exemple: Utilisation du processeur supérieure à 50% dans des zones spécifiques

La requête suivante crée une règle d'alerte qui se déclenche lorsque l'utilisation du processeur des instances de VM Compute Engine dépasse la limite de l'une des zones us-central1. Cette requête filtre les données limit par nom de limite et emplacement de la ressource:

fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        max(val())
  ; metric serviceruntime.googleapis.com/quota/limit
    | filter metric.limit_name == 'CPUS-per-project-zone' &&
             resource.location =~ 'us-central1-.*'
    | align next_older(1d)
    | group_by [resource.project_id, metric.quota_metric, resource.location],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.50 '1')

Cette règle de quota du client utilise le nom de la limite CPUS-per-project-zone dans le quota "CPUs" de l'API Compute Engine. Pour en savoir plus sur la recherche des noms de limite, consultez la section Identifier les métriques de quota et les noms de limite.

Alerte de ratio utilisant le quota spécifique à la ressource

Ce service vous permet de configurer des ratios pour les métriques liées aux ressources spécifiques. Dans ce cas, vous spécifiez une ressource surveillée spécifique au service et calculez un ratio sur une paire de métriques liées aux quotas spécifiques aux ressources.

Le schéma de requête suivant décrit une alerte qui surveille si l'utilisation d'un quota dépasse 80% de la limite:

fetch sample.googleapis.com/SampleResource
| { metric sample.googleapis.com/quota/samplemetric/usage
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        max(val())
  ; metric sample.googleapis.com/quota/samplemetric/limit
    | align next_older(1d)
    | group_by [resource.label_1, ... , resource.label_n,
                metric.label_1, ... , metric.label_n],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')

Pour utiliser ce modèle de requête, apportez les modifications suivantes:

  • Remplacez sample.googleapis.com par le service que vous souhaitez surveiller.
  • Remplacez sampleResource par la ressource surveillée associée.
  • Remplacez samplemetric par la chaîne d'un groupe de types de métriques.
  • Dans les opérations group_by, répertoriez chaque libellé de ressource et de métrique.

Exemple: Utilisation du processeur de 75% dans n'importe quelle région

Par exemple, la requête MQL suivante configure une alerte qui surveille les cas d'utilisation du quota instances_per_vpc_network Compute Engine sur 80% pour n'importe quel ID réseau:

fetch compute.googleapis.com/VpcNetwork
| { metric compute.googleapis.com/quota/instances_per_vpc_network/usage
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        max(val())
  ; metric compute.googleapis.com/quota/instances_per_vpc_network/limit
    | align next_older(1d)
    | group_by [resource.resource_container, metric.limit_name,
                resource.location, resource.network_id],
        min(val())
  }
| ratio
| every 1m
| condition gt(val(), 0.80 '1')

Notez que cette requête utilise le type de ressource compute.googleapis.com/VpcNetwork, et non consumer_quota, et utilise le ratio de deux métriques compute.googleapis.com/quota/instances_per_vpc_network.

Exemples de graphiques

Les graphiques affichent des données de séries temporelles. Vous pouvez utiliser l'explorateur de métriques pour créer un graphique. Avec l'explorateur de métriques, vous pouvez soit supprimer le graphique lorsque vous n'en avez plus besoin, soit l'enregistrer dans un tableau de bord. Dans la vue de tableau de bord, vous pouvez ajouter un graphique au tableau de bord.

Pour créer un graphique, vous devez spécifier ce que vous souhaitez afficher et la manière dont vous souhaitez afficher ces données. Le reste de cette section contient des paramètres permettant de créer des graphiques pour le quota du consommateur et pour un quota spécifique aux ressources. Vous pouvez également utiliser les paramètres de la boîte de dialogue Cible d'une règle d'alerte pour créer un graphique.

Utilisation maximale dans l'intervalle pour la métrique quota/allocation/usage

Pour afficher les données de la série temporelle de la métrique serviceruntime quota/allocation/usage dans laquelle les données sont regroupées par nom de métrique de quota et la valeur maximale de la métrique dans un intervalle de 25 heures est affichée, pour tous les services de votre projet Google Cloud, utilisez les paramètres suivants :

Champ du
volet Cible

Valeur
Type de ressource Saisissez consumer_quota.
Métrique Sélectionner serviceruntime.googleapis.com/quota/allocation/usage
Filter

Ajoutez un filtre pour que le graphique n'affiche que les données associées au service que vous souhaitez surveiller. Par exemple, pour surveiller le service de gestion de l'authentification et des accès, ajoutez le filtre suivant : service = iam.googleapis.com.

Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique.

Grouper par

Sélectionnez quota_metric.

Cette option regroupe les données en fonction du type de nom de l'élément quota_metric.

Agrégateur

Sélectionnez sum.

Le champ d'agrégation est automatiquement défini sur sum lorsque les données sont regroupées. Ce paramètre définit la façon dont les données de chaque série temporelle sont combinées.

Durée Sélectionnez 1500 m.

La période, d'une durée 25 heures, est légèrement plus longue que l'intervalle d'échantillonnage pour cette métrique.

Agrégation avancée Aligneur : max
Agrégateur secondaire : sum

L'aligneur est défini pour afficher la valeur maximale de la métrique mesurée sur la période d'alignement. L'agrégateur secondaire combine les séries temporelles pour les différents services en une seule série temporelle.

Série temporelle pour quota/rate/net_usage

Pour afficher les données de la série temporelle de la métrique serviceruntime quota/rate/net_usage dans laquelle les données sont regroupées par nom de métrique de quota et le taux d'utilisation est affiché, pour tous les services de votre projet Google Cloud, utilisez les paramètres suivants :

Champ du
volet Cible

Valeur
Type de ressource Saisissez consumer_quota.
Métrique Sélectionner serviceruntime.googleapis.com/quota/rate/net_usage
Filter

Ajoutez un filtre pour que le graphique n'affiche que les données associées au service que vous souhaitez surveiller. Par exemple, pour surveiller le service de gestion de l'authentification et des accès, ajoutez le filtre suivant : service = iam.googleapis.com.

Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique.

Grouper par

Sélectionnez quota_metric.

Cette option regroupe les données en fonction du type de nom de l'élément quota_metric.

Agrégateur

Sélectionnez sum.

Le champ d'agrégation est automatiquement défini sur sum lorsque les données sont regroupées. Ce paramètre définit la façon dont les données de chaque série temporelle sont combinées.

Durée Sélectionnez 1 m.

La période d'une minute correspond à l'intervalle d'échantillonnage pour cette métrique.

Agrégation avancée Aligneur : rate

En définissant l'aligneur sur la valeur rate, les valeurs stockées dans la série temporelle pour cette métrique DELTA sont converties en une nouvelle série temporelle qui stocke les données de débit. L'axe des ordonnées du graphique comporte les unités de quota par seconde.

Série temporelle pour quota/limit

Pour afficher les données de la série temporelle de la métrique serviceruntime quota/limit dans laquelle les données sont cumulées sur 25 heures, pour tous les services de votre projet Google Cloud, utilisez les paramètres suivants :

Champ du
volet Cible

Valeur
Type de ressource Saisissez consumer_quota.
Métrique Sélectionner serviceruntime.googleapis.com/quota/limit
Filter

Ajoutez un filtre pour que le graphique n'affiche que les données associées au service que vous souhaitez surveiller. Par exemple, pour surveiller le service de gestion de l'authentification et des accès, ajoutez le filtre suivant : service = iam.googleapis.com.

Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique.

Grouper par Laisser ce champ vide.
Agrégateur none
Durée Sélectionnez 1500 m.
Agrégation avancée Aligneur : next older

L'aligneur est défini sur next older pour afficher la valeur mesurée de la métrique GAUGE. La période d'alignement, de 25 heures, est légèrement plus longue que l'intervalle d'échantillonnage pour cette métrique.

Série temporelle pour quota/instances_per_vpc_network/limit

Pour afficher les données de la série temporelle de la métrique compute.googleapis.com quota/instances_per_vpc_network/limit, dans tous les réseaux de votre projet Google Cloud, utilisez les paramètres suivants:

Champ du
volet Cible

Valeur
Type de ressource Saisissez compute.googleapis.com/VpcNetwork.
Métrique Sélectionner compute.googleapis.com/quota/instances_per_vpc_network/limit
Filter Laisser ce champ vide
Grouper par Laisser ce champ vide
Agrégateur Quitter le compte none
Durée Sélectionnez 1 m.

La période correspond à l'intervalle d'échantillonnage pour cette métrique.

Agrégation avancée Ignorer

Série temporelle pour quota/instances_per_vpc_network/usage

Pour afficher les données de la série temporelle de la métrique compute.googleapis.com quota/instances_per_vpc_network/usage dans l'un des réseaux de votre projet Google Cloud, utilisez les paramètres suivants:

Champ du
volet Cible

Valeur
Type de ressource Saisissez compute.googleapis.com/VpcNetwork.
Métrique Sélectionner compute.googleapis.com/quota/instances_per_vpc_network/usage
Filter

Ajoutez un filtre pour que le graphique n'affiche qu'un sous-ensemble des données. Par exemple, pour voir l'utilisation d'un réseau spécifique, ajoutez le filtre network_id = identifier.

Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique.

Grouper par Laisser ce champ vide
Agrégateur Quitter le compte none
Durée Sélectionnez 1 m.
Agrégation avancée Ignorer

Graphiques MQL

Vous pouvez utiliser des requêtes MQL pour créer des graphiques à l'aide de l'éditeur de requête MQL. Par exemple, toutes les requêtes présentées dans la section Exemples de règles d'alerte MQL peuvent être saisies dans l'éditeur de requête. Vous pouvez omettre la dernière opération, condition, dans chaque requête. car elle s'applique, sauf lors de la création d'une condition pour une règle d'alerte. Dans un graphique, l'opération condition n'a aucun effet.

Pour en savoir plus, consultez les pages Utiliser l'éditeur de requête et Exemples MQL.