Ce document explique comment créer des règles d'alerte et des graphiques pour surveiller le quota qui vous est attribué par Google Cloud. Il comprend plusieurs exemples. Google Cloud définit divers quotas que vous pouvez utiliser pour suivre et limiter les ressources consommées par un projet ou une organisation. Pour obtenir des informations générales sur les quotas, y compris sur les quotas d'allocation et les quotas de débit, consultez la page Utiliser des quotas.
Avant de commencer
Dans ce document, nous partons du principe que vous connaissez bien les données de séries temporelles et leur manipulation. Les ressources suivantes fournissent des informations supplémentaires :
- Pour en savoir plus sur l'utilisation des données de séries temporelles, consultez la section Filtrage et agrégation.
- Pour connaître les définitions des termes jauge, delta et cumulatif, consultez la section Genre de métriques.
- Pour plus d'informations sur les fonctions utilisées pour combiner des séries temporelles, consultez
Aligner
etReducer
.
Gestion des quotas
Cloud Monitoring gère les quotas de deux manières:
Quota 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étriquesserviceruntime
.La plupart des exemples de cette page sont des exemples de quota client.
Quotas spécifiques aux ressources : certains services fournissent des ressources surveillées disposant de métriques spécifiques aux ressources pour les quotas. Ces types de métriques apparaissent par groupes de trois et suivent un format de dénomination :
service/quota/quota-type/exceeded
service/quota/quota-type/limit
service/quota/quota-type/usage
Par exemple, Compute Engine dispose de la ressource
compute.googleapis.com/VpcNetwork
. Les métriques liées aux quotas associées à cette ressource correspondent au sous-ensemblecompute.googleapis.com/quota
des métriquescompute
. Il existe trois types de métriques liées au quota d'instances par réseau VPC:quota/instances_per_vpc_network/exceeded
quota/instances_per_vpc_network/limit
quota/instances_per_vpc_network/usage
Identifier les métriques de quota et les noms de limites
Les données brutes sur la consommation des quotas, en particulier pour les quotas de client, peuvent inclure des informations sur de nombreux quotas différents. Pour extraire des informations sur un quota spécifique pour un graphique ou une règle d'alerte, vous devez identifier ce sous-ensemble de données de quota.
Selon la source, les données de quota peuvent inclure des libellés que vous pouvez utiliser pour isoler les informations souhaitées. Voici des exemples de libellés :
- Métrique de quota: la métrique de quota est un identifiant pour un type de quota. Elle n'est pas l'un des types de métriques décrits dans la liste des métriques. Par exemple, toutes les données de quotas de consommateurs sont écrites sous le type de métrique
serviceruntime.googleapis.com
, commequota/allocation/usage
. Ce type de métrique comporte un libelléquota_metric
qui peut être utilisé pour filtrer sur un quota spécifique, par exemple les données d'utilisation d'allocation. - Nom de la limite: ce nom identifie la limite appliquée à un type spécifique de quota.
Un quota peut être associé à plusieurs limites. Par exemple, un quota pour les appels en lecture peut être limité à 100 par minute et à 1 000 par jour, avec deux noms de limites,
readsPerMinute
etreadsPerDay
. Les types de métriques liées aux quotas peuvent comporter un champlimit_name
pour cette valeur.
Tous les types de métriques serviceruntime.googleapis.com/quota
fournissent le libellé quota_metric
, mais seulement certains incluent le libellé limit_name
.
Les types de métriques spécifiques aux ressources pour le quota incluent le libellé limit_name
.
Tous les services Google Cloud ne sont pas compatibles avec les métriques de quota. Pour déterminer si un service est compatible avec les métriques de quota et identifier les valeurs des étiquettes spécifiques aux quotas, vous pouvez suivre la procédure suivante:
Dans Google Cloud Console, accédez à la page Quotas des administrateurs:
Cliquez sur view_column Afficher la colonne et ajoutez les colonnes suivantes à l'affichage des quotas:
- Métrique: cette colonne affiche la valeur du libellé
quota_metric
. - Nom de la limite : cette colonne affiche la valeur du libellé
limit_name
. - Ressource surveillée : lorsqu'il est renseigné, le quota utilise la ressource surveillée répertoriée. Lorsque ce champ est vide, la ressource surveillée pour le quota est
consumer_quota
.
- Métrique: cette colonne affiche la valeur du libellé
Recherchez le quota qui vous intéresse.
Par exemple, pour le quota de sous-réseaux de l'API Compute Engine, la métrique est définie sur
compute.googleapis.com/subnetworks
, le nom de la limite surSUBNETWORKS-per-project
, et la ressource surveillée n'est pas indiquée. Par conséquent, la ressource surveillée pour ce quota estconsumer_quota
.
Exemple : Afficher l'utilisation d'une métrique de quota client spécifique
L'objectif est de créer un graphique qui affiche le quota de stockage total de disque de Compute Engine, par région. Cet exemple de quota de client récupère les données quota/allocation/usage
, puis les filtre afin que l'utilisation d'allocation pour une métrique de quota spécifique s'affiche:
Dans Google Cloud Console, sélectionnez Cloud Monitoring, puis l'explorateur de métriques.
Accédez à l'onglet Configuration.
Dans la barre d'outils, sélectionnez 1 M pour indiquer une période d'un mois.
Développez le menu Graphique en courbes, puis sélectionnez Graphique à barres empilées.
Configurez l'explorateur de métriques pour afficher l'utilisation du quota d'allocation:
- Cliquez sur Sélectionner une métrique, puis saisissez
allocation
dans la barre de filtre filter_list. - Sélectionnez Quota du client pour la ressource.
- Sélectionnez Quota pour la catégorie de métriques.
- Sélectionnez Utilisation du quota d'allocation pour la métrique, puis cliquez sur Appliquer.
Le graphique affiche, sous forme de graphique à barres, l'utilisation du quota d'allocation sur 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"
Vous pouvez afficher cette valeur de filtre en développant le menu Type de ressource, puis en sélectionnant Mode de filtrage direct.
- Cliquez sur Sélectionner une métrique, puis saisissez
Pour limiter le graphique au service Compute Engine, ajoutez le filtre
service = compute.googleapis.com
: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 la série temporelle du quota de stockage total sur disque de Compute Engine.Le graphique ne montre l'utilisation des quotas que pour ceux qui ont enregistré une utilisation. Par exemple, si le projet ne dispose d'aucune ressource Compute Engine, le filtrage du service
compute.googleapis.com
génère un graphique sans données.Pour créer un graphique indiquant l'utilisation totale du quota de stockage sur disque de Compute Engine, utilisez le filtre
quota_metric = compute.googleapis.com/disks_total_storage
: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"
Le graphique précédent affiche les séries temporelles pour les régions
us-central1
etus-east1
, ainsi que pour plusieurs zones, y compris la zoneus-central1-a
.Pour affiner le graphique afin qu'il n'affiche que les données des régions, sans les zones, ajoutez un filtre basé sur le libellé
location
. Dans cet exemple, où les deux régions commencent parus-
et se terminent par1
, un filtre utilisant une expression régulière, en l'occurrencelocation =~ ^us.*1$
, fonctionne bien :
Pour le quota de client, la valeur du libellé quota_metric
identifie à la fois le service et l'utilisation spécifique du quota surveillé. Lorsque vous créez des graphiques ou des règles d'alerte qui surveillent une métrique de quota spécifique, vous utilisez cette information.
Règles d'alerte dans Cloud Monitoring
Les règles d'alerte permettent de configurer Cloud Monitoring pour vous avertir lorsqu'un événement se produit, par exemple lorsque vous atteignez 85% de votre limite de quota.
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 qu'elle envoie des e-mails à une personne spécifique ou à un groupe de personnes.
Vous pouvez utiliser deux techniques pour créer des conditions de règle d'alerte:
Sélection et manipulation des données à l'aide des filtres Monitoring. 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é dans la section Utiliser des métriques de quota utilise des filtres pour sélectionner les données d'un graphique. Vous pouvez également utiliser des filtres dans les requêtes adressées à l'API Monitoring.
Utilisation de MQL pour sélectionner et manipuler des données. MQL est un langage de requête basé sur le texte. L'éditeur de requêtes MQL vous permet de créer des requêtes que vous ne pouvez pas créer avec la technique basée sur un filtre. 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 section Exemples de règles d'alerte MQL.
Cette page traite des deux techniques. Vous pouvez également créer des graphiques à l'aide de l'une ou l'autre technique.
Filtrer les exemples de règles d'alerte
Dans cette section, chaque sous-section inclut une représentation JSON d'une règle d'alerte, ainsi que deux tables qui décrivent comment configurer la règle dans la console Google Cloud:
- 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 des filtres.
Aucune de ces règles ne calcule des ratios. Pour obtenir des exemples basés sur des ratios, consultez les 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 stratégie à l'aide de Google Cloud Console ou de l'API Cloud Monitoring.
Utiliser la console Google Cloud
Le reste du contenu de cette sous-section concerne la boîte de dialogue des conditions d'une règle d'alerte.
Complétez la boîte de dialogue Nouvelle condition en utilisant les paramètres du 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 Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Ressources, sélectionnez Quota du consommateur. Dans le menu Catégories de métriques, sélectionnez Quota. Dans le menu Métriques, sélectionnez Erreur de dépassement de quota. ( metric.type est serviceruntime.googleapis.com/quota/exceeded ,et resource.type est consumer_quota ).
|
Filter |
Ajoutez un filtre pour que le graphique affiche uniquement les données du 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. |
Fenêtre glissante | Sélectionner 1 m |
Fenêtrage glissant | Sélectionner count true
Cette métrique est de type Pour cette métrique, les fenêtrages glissants de |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
Sélectionnez Le champ d'agrégation est automatiquement défini sur |
Sur une période donnée Regrouper des séries temporelles par |
Sélectionnez Cette option regroupe les données en fonction du type de nom de l'élément |
Complétez la boîte de dialogue Configurer le déclencheur à 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é.
Champ de la boîte de dialogue Configurer le déclencheur |
Valeur |
---|---|
Type de condition | Threshold |
Déclencheur d'alerte | Any time series violates |
Position du seuil | Above threshold |
Valeur du seuil | 0 |
Fenêtre du nouveau test | 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 Google Cloud CLI ou des bibliothèques clientes. Pour en savoir plus, consultez la page 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 stratégie à l'aide de Google Cloud Console ou de l'API Cloud Monitoring.
Utiliser la console Google Cloud
Le reste du contenu de cette sous-section concerne la boîte de dialogue des conditions d'une règle d'alerte.
Complétez la boîte de dialogue Nouvelle condition en utilisant les paramètres du 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 Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Ressources, sélectionnez Quota du consommateur. Dans le menu Catégories de métriques, sélectionnez Quota. Dans le menu Métriques, sélectionnez Utilisation du quota d'allocation. ( metric.type est serviceruntime.googleapis.com/quota/allocation/usage ,et resource.type est consumer_quota ).
|
Filter |
Ajoutez un filtre pour que le graphique affiche uniquement les données du 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. |
Fenêtre glissante | Sélectionner 1440 m La période correspond à l'intervalle d'échantillonnage pour cette métrique. |
Fenêtrage glissant | Sélectionner next older La fonction de fenêtrage glissante est définie sur |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
Sélectionnez Le champ d'agrégation est automatiquement défini sur |
Sur une période donnée Regrouper des séries temporelles par |
Sélectionnez Cette option regroupe les données en fonction du type de nom de l'élément |
Complétez la boîte de dialogue Configurer le déclencheur à 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 m correspond à celle de la fenêtre glissante. 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.
Champ de la boîte de dialogue Configurer le déclencheur |
Valeur |
---|---|
Type de condition | Threshold |
Déclencheur d'alerte | Any time series violates |
Position du seuil | Above threshold |
Valeur du seuil | 2.5 |
Fenêtre du nouveau test | 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 Google Cloud CLI ou des bibliothèques clientes. Pour en savoir plus, consultez la page 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": "86400s",
"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 de type textuel qui utilise une série d'opérations liées par des barres verticales. MQL vous permet de créer des requêtes plus puissantes et flexibles que celles que vous pouvez créer 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 pour l'utilisation du quota de débit, ce qui nécessite de calculer le ratio d'une métrique de jauge (limite) et d'une métrique delta (taux).
Vous pouvez créer des règles d'alerte basées sur MQL à l'aide de Google Cloud Console ou de l'API Monitoring:
Google 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 l'icône code Éditeur de requête dans l'onglet Metric (Métrique) du panneau des conditions. Pour plus d'informations sur l'utilisation de cet éditeur, consultez la section Utiliser l'éditeur de requêtes.
API Monitoring: utilisez la méthode
alertPolicies.create
et indiquez une condition du typeMonitoringQueryLanguageCondition
. Ce type de condition utilise une requête MQL en tant que valeur de champ. Pour en savoir plus sur l'utilisation de l'API Monitoring avec MQL, consultez la page 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 section Règles d'alerte avec MQL.
Alerte de ratio sur l'utilisation du quota de débit pour une limite
Le modèle de requête MQL suivant décrit une alerte qui surveille lorsque l'utilisation du débit par minute d'un service de ressources spécifique dépasse 80% d'une limite donné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
pourmetric.limit_name
par la limite que vous souhaitez suivre. Pour savoir comment identifier les noms des limites, consultez la section Identifier les métriques de quota et les noms des limites. - Remplacez
1m
dans les fonctionsdelta_gauge
etsliding
par une fenêtre appropriée pour votre limite.
Ne modifiez pas l'opération every 1m
, qui détermine l'écart entre les points de données dans les résultats de la requête.
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 accepte le filtrage à l'aide de caractères génériques, d'expressions régulières et de logique booléenne. Par exemple, vous pouvez utiliser MQL pour créer une alerte qui suit plusieurs limites et vous avertit si une limite est dépassée.
Le modèle de requête MQL suivant décrit une alerte qui surveille quand l'utilisation des débits par minute ou par jour des services de ressources dépasse 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(23h) | 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(23h), max(val()) } | ratio } | union | every 1m | condition gt(val(), 0.8 '1')
Dans la requête précédente, l'argument de l'aligneur delta_gauge
est défini sur 23 heures au lieu d'un jour. MQL ne peut exiger que 23 heures et 30 minutes de données. À des fins de calcul, l'aligneur delta_gauge
ajoute une heure à l'intervalle d'alignement. Si vous utilisez delta_gauge(1d)
, la condition ne peut pas être enregistrée, car elle exige 25 heures de données. Ce comportement est différent de l'aligneur next_older
, qui ne remplit pas l'intervalle d'alignement.
Pour utiliser ce modèle de requête, apportez les modifications suivantes:
- Remplacez l'expression régulière du
resource.service
par une expression régulière pour les services que vous souhaitez suivre. - Dans le premier ratio :
- Remplacez
.*PerMinute.*
pourmetric.limit_name
par une expression régulière pour le premier groupe de limites que vous souhaitez suivre. Pour savoir comment identifier les noms des limites, consultez la section Identifier les métriques de quota et les noms des limites. - Remplacez
1m
dans les fonctionsdelta_gauge
etsliding
par une fenêtre adaptée à vos limites.
- Remplacez
- Dans le deuxième ratio :
- Remplacez
.*PerDay.*
pour la valeurmetric.limit_name
par une expression régulière pour le deuxième groupe de limites que vous souhaitez suivre. - Remplacez
23h
dans les fonctionsdelta_gauge
etsliding
par une fenêtre adaptée à vos limites.
- Remplacez
Ne modifiez pas l'opération every 1m
, qui détermine l'écart entre les points de données dans les résultats de la requête.
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 lorsque l'utilisation quotidienne de l'allocation d'un service de ressources spécifique dépasse 80% d'une limite donnée:
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
pourmetric.limit_name
par la limite que vous souhaitez suivre. Pour savoir comment identifier les noms des limites, consultez la section Identifier les métriques de quota et les noms des limites.
Ne modifiez pas l'opération every 1m
, qui détermine l'écart entre les points de données dans les résultats de la requête.
Exemple: Utilisation du processeur de 75% dans une 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 75% de la limite dans une 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 de client utilise le nom de la limite CPUS-per-project-region
dans le quota "Processeurs" 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 tout service
MQL accepte le filtrage avec des caractères génériques, des expressions régulières et une logique booléenne. Par exemple, vous pouvez utiliser MQL pour créer une alerte qui suit plusieurs limites ou services et vous avertit si un seuil est dépassé.
La requête MQL suivante décrit une alerte qui surveille lorsque l'utilisation quotidienne de l'allocation d'un service de ressources 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 comme présenté ou remplacer l'expression régulière de resource.service
par une expression régulière pour les services que vous souhaitez suivre. Vous pouvez également filtrer 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 l'écart entre les points de données dans les résultats de la requête.
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 50% de la limite dans l'une des zones us-central1
. Cette requête filtre les données limit
par nom de limite et emplacement de 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 de client utilise le nom de la limite CPUS-per-project-zone
dans le quota "Processeurs" 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 un quota spécifique à la ressource
Vous pouvez utiliser MQL pour configurer des ratios pour les métriques liées aux quotas spécifiques aux ressources. Dans ce cas, vous spécifiez une ressource surveillée spécifique au service et calculez un ratio sur une paire de métriques spécifiques à la ressource liées aux quotas.
Le modèle de requête suivant décrit une alerte qui surveille lorsque 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 chacun des libellés de ressource et de métrique.
Exemple: Utilisation du processeur de 75% dans une région
Par exemple, la requête MQL suivante configure une alerte qui surveille si l'utilisation du quota instances_per_vpc_network
de Compute Engine dépasse 80% pour tout 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 elle prend le ratio de deux métriques compute.googleapis.com/quota/instances_per_vpc_network
, et usage
et limit
. (Installation de Python groupée).
Exemples de graphiques
Les graphiques affichent les 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.
Si vous souhaitez uniquement configurer un graphique qui affiche des données de quota, vous pouvez utiliser les paramètres du tableau Nouvelle condition. Les conditions d'alerte, l'explorateur de métriques et l'éditeur de tableau de bord utilisent une notation légèrement différente:Nom de champ de la boîte de dialogue Nouvelle condition |
Éditeur de tableau de bord (onglet Avancé) |
Explorateur de métriques |
---|---|---|
Fenêtrage glissant | Fonction d'alignement | Options avancées Aligner |
Fenêtre glissante | Période d'alignement | Période d'alignement minimale |
Sur toute la période Regrouper les données par |
Group By | Group By |
Série temporelle Agrégation de séries temporelles |
Fonction de regroupement | Aggregator |
Utilisation maximale dans l'intervalle pour la métrique quota/allocation/usage
Pour afficher les données de séries temporelles pour la métrique serviceruntime
quota/allocation/usage
, pour tous les services de votre projet Google Cloud. 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 s'affiche. Utilisez les paramètres suivants:
Champ Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Ressources, sélectionnez Quota du consommateur. Dans le menu Catégories de métriques, sélectionnez Quota. Dans le menu Métriques, sélectionnez Utilisation du quota d'allocation. ( metric.type est serviceruntime.googleapis.com/quota/allocation/usage ,et resoure.type est consumer_quota ).
|
Filter |
Ajoutez un filtre pour que le graphique affiche uniquement les données du 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. |
Fenêtre glissante | Sélectionner 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. |
Fenêtrage glissant | Sélectionnez 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. |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
Sélectionnez Le champ d'agrégation est automatiquement défini sur |
Sur une période donnée Regrouper des séries temporelles par |
Sélectionnez Cette option regroupe les données en fonction du type de nom de l'élément |
Série temporelle pour quota/rate/net_usage
Pour afficher les données de séries temporelles pour la métrique serviceruntime
quota/rate/net_usage
, pour tous les services de votre projet Google Cloud, où les données sont regroupées par nom de métrique de quota et taux d'utilisation, utilisez les paramètres suivants:
Champ Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Ressources, sélectionnez Quota du consommateur. Dans le menu Catégories de métriques, sélectionnez Quota. Dans le menu Métriques, sélectionnez Utilisation du quota de débit. ( metric.type est serviceruntime.googleapis.com/quota/rate/net_usage ,et resoure.type est consumer_quota ).
|
Filter |
Ajoutez un filtre pour que le graphique affiche uniquement les données du 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. |
Fenêtre glissante | Sélectionner 1 m La période d'une minute correspond à l'intervalle d'échantillonnage pour cette métrique. |
Fenêtrage glissant | Sélectionner rate
En définissant l'aligneur sur la valeur |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
Sélectionnez Le champ d'agrégation est automatiquement défini sur |
Sur une période donnée Regrouper des séries temporelles par |
Sélectionnez Cette option regroupe les données en fonction du type de nom de l'élément |
Série temporelle pour quota/limit
Pour afficher les données de séries temporelles pour la métrique serviceruntime
quota/limit
, pour tous les services de votre projet Google Cloud, où les données sont agrégées sur 25 heures, utilisez les paramètres suivants:
Champ Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Ressources, sélectionnez Quota du consommateur. Dans le menu Catégories de métriques, sélectionnez Quota. Dans le menu Métriques, sélectionnez Limite de quota. ( metric.type est serviceruntime.googleapis.com/quota/limit ,et resoure.type est consumer_quota ).
|
Filter |
Ajoutez un filtre pour que le graphique affiche uniquement les données du 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. |
Fenêtre glissante | Sélectionner 1500 m |
Fenêtrage glissant | Sélectionner next older L'aligneur est défini sur |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
none
|
Sur une période donnée Regrouper des séries temporelles par |
Laisser ce champ vide. |
Série temporelle pour quota/instances_per_vpc_network/limit
Pour afficher les données de séries temporelles de la métrique compute.googleapis.com
quota/instances_per_vpc_network/limit
, pour tous les réseaux de votre projet Google Cloud, utilisez les paramètres suivants:
Champ Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Type de ressource, sélectionnez Réseau VPC. Dans le menu Catégorie de métrique, sélectionnez quota. Dans le menu Métrique, sélectionnez Nombre maximal d'instances par réseau VPC. ( metric.type est compute.googleapis.com/quota/instances_per_vpc_network/limit ,et resource.type est compute.googleapis.com/VpcNetwork ).
|
Filter | Laisser ce champ vide. |
Fenêtre glissante | Sélectionner 1 m La période correspond à l'intervalle d'échantillonnage pour cette métrique. |
Fenêtrage glissant | Sélectionner mean |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
Laisser en tant que none
|
Sur une période donnée Regrouper des séries temporelles par |
Laisser ce champ vide. |
Série temporelle pour quota/instances_per_vpc_network/usage
Pour afficher les données de séries temporelles de la métrique compute.googleapis.com
quota/instances_per_vpc_network/usage
, pour l'un des réseaux de votre projet Google Cloud, utilisez les paramètres suivants:
Champ Nouvelle condition Champ |
Valeur |
---|---|
Ressource et métrique | Dans le menu Type de ressource, sélectionnez Réseau VPC. Dans le menu Catégorie de métrique, sélectionnez quota. Dans le menu Métrique, sélectionnez Instances par utilisation de quota par réseau VPC. ( metric.type est compute.googleapis.com/quota/instances_per_vpc_network/usage ,et resource.type est compute.googleapis.com/VpcNetwork ).
|
Métrique | Dans le menu Métrique, sélectionnez compute.googleapis.com/quota/instances_per_vpc_network/usage . |
Filter |
Ajoutez un filtre afin que le graphique n'affiche qu'un sous-ensemble de toutes les données. Par exemple, pour afficher l'utilisation d'un réseau spécifique, ajoutez le filtre suivant : network_id = identifier. Lorsque le champ de filtre est vide, toutes les données de métriques disponibles sont incluses dans le graphique. |
Fenêtre glissante | Sélectionner 1 m La période correspond à l'intervalle d'échantillonnage pour cette métrique. |
Fenêtrage glissant | Sélectionner mean |
Sur plusieurs séries temporelles Agrégation de séries temporelles |
Laisser en tant que none
|
Sur une période donnée Regrouper des séries temporelles par |
Laisser ce champ vide. |
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, vous pouvez y saisir l'une des requêtes affichées dans les exemples de règle d'alerte MQL. Vous pouvez omettre la dernière opération, condition
, dans chaque requête. 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.