Créer des règles d'alerte basées sur un seuil de métrique

Les règles d'alerte basées sur des seuils de métriques dans Cloud Monitoring envoient des notifications lorsque les valeurs des métriques dépassent un seuil que vous définissez pour une fenêtre de nouveau test spécifiée. Par exemple, vous pouvez configurer une règle d'alerte pour créer une alerte lorsque l'utilisation du processeur dépasse 80% pendant au moins cinq minutes.

Ce contenu ne concerne pas les règles d'alerte basées sur les journaux. Pour en savoir plus sur les règles d'alerte basées sur les journaux, qui vous avertissent lorsqu'un message particulier apparaît dans vos journaux, consultez Surveiller vos journaux.

Pour recevoir des notifications lorsque les données cessent d'arriver ou lorsqu'une métrique est susceptible de dépasser un seuil, consultez Créer des règles d'alerte d'absence de métrique et Créer des règles d'alerte de valeur de métrique prévue. Pour créer des règles d'alerte de manière programmatique à l'aide de l'API Cloud Monitoring, consultez Créer des règles d'alerte à l'aide de l'API. Pour créer des règles d'alerte qui utilisent des requêtes MQL (Monitoring Query Language) avec des seuils statiques ou dynamiques, consultez Règles d'alerte avec MQL et Créer des niveaux de gravité dynamiques à l'aide de MQL.

Cette fonctionnalité n'est disponible que pour les projets Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion.

Avant de commencer

  1. Pour obtenir les autorisations nécessaires pour créer et modifier des règles d'alerte à l'aide de la console Google Cloud , demandez à votre administrateur de vous accorder le rôle IAM Éditeur Monitoring (roles/monitoring.editor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Pour en savoir plus sur les rôles Cloud Monitoring, consultez Contrôler les accès avec Identity and Access Management.

  2. Assurez-vous de bien maîtriser les concepts généraux des règles d'alerte. Pour en savoir plus sur ces sujets, consultez Présentation des alertes.

  3. Configurez les canaux de notification que vous souhaitez utiliser pour recevoir des notifications. À des fins de redondance, nous vous recommandons de créer plusieurs types de canaux de notification. Pour en savoir plus, consultez Créer et gérer des canaux de notification.

Créer une règle d'alerte

Pour créer une règle d'alerte qui compare la valeur de cette métrique à un seuil statique, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Alertes :

    Accéder à la page Alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la console Google Cloud , sélectionnez votre projet Google Cloud . Pour les configurations App Hub, sélectionnez le projet hôte ou le projet de gestion App Hub.
  3. Sélectionnez Créer une règle.
  4. Sélectionnez la série temporelle à surveiller :

    1. Cliquez sur Sélectionner une métrique, parcourez les menus pour sélectionner un type de ressource et un type de métrique, puis cliquez sur Appliquer.

      Le menu Sélectionner une métrique contient des fonctionnalités qui vous aident à trouver les types de métriques disponibles :

      • Pour rechercher un type de métrique spécifique, utilisez la barre de filtre . Par exemple, si vous saisissez util, vous limitez le menu pour n'afficher que les entrées incluant util. Les entrées sont affichées lorsqu'elles réussissent un test "contient" non sensible à la casse.
      • Pour afficher tous les types de métriques, même ceux sans données, cliquez sur  Actif. Par défaut, les menus n'affichent que les types de métriques contenant des données. Pour en savoir plus, consultez Métrique non listée dans le menu.

      Vous pouvez surveiller n'importe quelle métrique intégrée ou n'importe quelle métrique définie par l'utilisateur.

    2. Facultatif : Pour surveiller un sous-ensemble des séries temporelles correspondant aux types de métriques et de ressources que vous avez sélectionnés à l'étape précédente, cliquez sur Ajouter un filtre. Dans la boîte de dialogue du filtre, sélectionnez le libellé selon lequel filtrer, un comparateur, puis la valeur du filtre. Par exemple, le filtre zone =~ ^us.*.a$ utilise une expression régulière pour faire correspondre toutes les données de séries temporelles dont le nom de zone commence par us et se termine par a. Pour en savoir plus, consultez Filtrer la série temporelle sélectionnée.

    3. Facultatif : Pour modifier l'alignement des points d'une série temporelle, définissez les champs Fenêtre glissante et Fenêtrage glissant dans la section Transformer les données.

      Si vous surveillez une métrique basée sur les journaux, nous vous recommandons de définir le menu Fenêtre glissante sur au moins 10 minutes.

      Ces champs spécifient la manière dont les points enregistrés dans une fenêtre sont combinés. Par exemple, supposons que la fenêtre soit de 15 minutes et que la fenêtrage soit max. Le point aligné correspond à la valeur maximale de tous les points des 15 dernières minutes. Pour en savoir plus, consultez Alignement : régularisation au sein de la série.

      Vous pouvez également surveiller le taux de variation d'une valeur de métrique en utilisant le champ Fonction de fenêtre mobile sur Variation en pourcentage. Pour en savoir plus, consultez Surveiller un taux de variation.

    4. Facultatif : Combinez des séries temporelles lorsque vous souhaitez réduire le nombre de séries temporelles surveillées par une règle ou lorsque vous souhaitez surveiller uniquement une collection de séries temporelles. Par exemple, au lieu de surveiller l'utilisation du processeur de chaque instance de VM, vous pouvez calculer l'utilisation moyenne du processeur pour toutes les VM d'une zone, puis surveiller cette moyenne. Par défaut, les séries temporelles ne sont pas combinées. Pour obtenir des informations générales, consultez Réduction : combiner des séries temporelles.

      Pour combiner toutes les séries temporelles :

      1. Dans la section Dans les séries temporelles, cliquez sur Développer.
      2. Définissez le champ Agrégation de série temporelle sur une valeur autre que none. Par exemple, pour afficher la valeur moyenne de la série temporelle, sélectionnez mean.
      3. Vérifiez que le champ Grouper les séries temporelles par est vide.

      Pour combiner ou regrouper des séries temporelles par valeurs d'étiquettes, procédez comme suit :

      1. Dans la section Dans les séries temporelles, cliquez sur Développer.
      2. Définissez le champ Agrégation de séries temporelles sur une valeur autre que none.
      3. Dans le champ Critère de regroupement des séries temporelles, sélectionnez les étiquettes à utiliser pour le regroupement.

      Par exemple, si vous regroupez les données par libellé zone et que vous définissez le champ d'agrégation sur la valeur mean, le graphique affiche une série temporelle pour chaque zone pour laquelle il existe des données. La série temporelle affichée pour une zone spécifique est la moyenne de toutes les séries temporelles de cette zone.

    5. Cliquez sur Suivant.

  5. Configurez le déclencheur de condition :

    1. Conservez la valeur par défaut Seuil dans le champ Type de condition.

    2. Facultatif : mettez à jour le menu Déclencheur d'alerte, qui comporte les valeurs suivantes :

      • À chaque infraction de série temporelle : paramètre par défaut. Toute série temporelle qui ne respecte pas le seuil pendant toute la fenêtre de nouveau test entraîne le respect de la condition.

      • Pourcentage de séries temporelles enfreintes : un pourcentage de séries temporelles doit enfreindre le seuil pendant toute la période de nouveau test pour que la condition soit remplie. Par exemple, vous pouvez recevoir une notification lorsque 50% des séries temporelles surveillées dépassent le seuil pour l'ensemble de la période de retest.

      • Nombre de séries temporelles enfreintes : un nombre spécifique de séries temporelles doit enfreindre le seuil pendant toute la fenêtre de nouveau test avant que la condition ne soit remplie. Par exemple, vous pouvez recevoir une notification lorsque 32 des séries temporelles surveillées dépassent le seuil pour l'ensemble de la période de nouveau test.

      • Toutes les séries temporelles enfreintes : toutes les séries temporelles doivent enfreindre le seuil pendant toute la fenêtre de nouveau test avant que la condition ne soit remplie.

      Pour en savoir plus sur les intervalles utilisés par Monitoring pour aligner et mesurer les données de séries temporelles, consultez Périodes d'alignement et fenêtres de nouveau test.

    3. Indiquez quand la valeur d'une métrique ne respecte pas le seuil à l'aide des champs Position du seuil et Valeur du seuil. Par exemple, si vous définissez ces valeurs sur Au-dessus du seuil et 0.3, toute mesure supérieure à 0.3 enfreint le seuil.

    4. Facultatif : Pour sélectionner la durée pendant laquelle les mesures doivent dépasser le seuil avant que Monitoring n'envoie une notification, développez Options avancées, puis utilisez le menu Fenêtre de retest.

      La valeur par défaut est Pas de nouveau test. Avec ce paramètre, une seule mesure peut entraîner une notification. Pour en savoir plus et obtenir un exemple, consultez Paramètres de période et de durée d'alignement.

    5. Facultatif : Pour spécifier comment la surveillance évalue la condition lorsque les données cessent d'arriver, développez Options avancées, puis utilisez le menu Évaluation des données manquantes.

      Le menu Évaluation des données manquantes est désactivé lorsque la valeur de Délai avant un nouveau test est définie sur Pas de nouveau test.

      Google Cloud console
      Champ "Évaluation des données manquantes"
      Résumé Détails
      Données manquantes vides Les alertes ouvertes restent ouvertes.
      Les nouvelles alertes ne sont pas ouvertes.

      Pour les conditions remplies, la condition continue de l'être lorsque les données cessent d'arriver. Si une alerte est ouverte pour cette condition, elle le reste. Lorsqu'une alerte est ouverte et qu'aucune donnée n'arrive, le minuteur de fermeture automatique démarre après un délai d'au moins 15 minutes. Si le minuteur expire, l'alerte est fermée.

      Pour les conditions qui ne sont pas remplies, la condition continue de ne pas être remplie lorsque les données cessent d'arriver.

      Les points de données manquants sont traités comme des valeurs qui ne respectent pas la condition de la règle Les alertes ouvertes restent ouvertes.
      De nouvelles alertes peuvent être ouvertes.

      Pour les conditions qui sont remplies, la condition continue d'être remplie lorsque les données cessent d'arriver. Si une alerte est ouverte pour cette condition, elle reste ouverte. Lorsqu'une alerte est ouverte et qu'aucune donnée n'arrive pendant la durée de fermeture automatique plus 24 heures, l'alerte est fermée.

      Pour les conditions qui ne sont pas remplies, ce paramètre entraîne un comportement de la condition de seuil de métrique semblable à celui d'un metric-absence condition. Si les données n'arrivent pas dans le délai spécifié par la fenêtre de nouveau test, la condition est considérée comme remplie. Pour une règle d'alerte à une seule condition, le respect de la condition entraîne l'ouverture d'une alerte.

      Les points de données manquants sont traités comme des valeurs qui n'enfreignent pas la condition de la règle. Les alertes ouvertes sont fermées.
      Aucune nouvelle alerte n'est ouverte.

      Pour les conditions remplies, la condition cesse de l'être lorsque les données cessent d'arriver. Si une alerte est ouverte pour cette condition, elle est fermée.

      Pour les conditions qui ne sont pas remplies, la condition continue de ne pas être remplie lorsque les données cessent d'arriver.

    6. Cliquez sur Suivant.

  6. Facultatif : Créez une règle d'alerte avec plusieurs conditions.

    La plupart des règles surveillent un seul type de métrique. Par exemple, une règle peut surveiller le nombre d'octets écrits sur une instance de VM. Lorsque vous souhaitez surveiller plusieurs types de métriques, créez une règle avec plusieurs conditions. Chaque condition surveille un type de métrique. Une fois les conditions créées, vous devez spécifier comment elles se combinent. Pour en savoir plus, consultez Stratégies avec plusieurs conditions.

    Pour créer une règle d'alerte avec plusieurs conditions :

    1. Pour chaque condition supplémentaire, cliquez sur Ajouter une condition d'alerte, puis configurez cette condition.
    2. Cliquez sur Suivant et configurez la façon dont les conditions sont combinées.
    3. Cliquez sur Suivant pour accéder à la configuration des notifications et de la documentation.
  7. Configurez la notification et ajoutez des étiquettes utilisateur :

    1. Développez le menu Notifications et nom, puis sélectionnez vos canaux de notification. À des fins de redondance, nous vous recommandons d'ajouter plusieurs types de canaux de notification à une règle d'alerte. Pour en savoir plus, consultez Gérer les canaux de notification.

    2. Facultatif : Pour utiliser un objet personnalisé dans votre notification au lieu de l'objet par défaut, modifiez le champ Objet de la notification.

    3. Facultatif : Pour recevoir une notification en cas de fermeture d'une alerte, sélectionnez Notifier en cas de fermeture des alertes. Par défaut, si vous créez une règle d'alerte avec la console Google Cloud , une notification n'est envoyée qu'à la création d'une alerte.

    4. (Facultatif) Pour modifier le délai d'attente de Monitoring avant de fermer une alerte après l'arrêt de l'arrivée des données, sélectionnez une option dans le menu Délai de fermeture automatique des alertes. Par défaut, lorsque les données cessent d'arriver, Monitoring attend sept jours avant de fermer une alerte ouverte.

    5. Facultatif : Pour associer votre règle d'alerte à une application App Hub, dans la section Libellés d'application, sélectionnez une application, puis un service ou une charge de travail. Les alertes et les notifications affichent ces libellés.

    6. Facultatif : Sélectionnez une option dans le menu Niveau de gravité de la règle. Les alertes et les notifications affichent le niveau de gravité.

    7. Facultatif : Pour ajouter des libellés personnalisés à la règle d'alerte, dans la section Libellés utilisateur de la règle, procédez comme suit :

      1. Cliquez sur Ajouter un libellé, puis saisissez un nom pour le libellé dans le champ Clé. Les noms d'étiquettes doivent commencer par une lettre minuscule et peuvent contenir des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Par exemple, saisissez severity.
      2. Cliquez sur Valeur et saisissez une valeur pour votre libellé. Les valeurs d'étiquette peuvent contenir des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Par exemple, saisissez critical.

      Pour savoir comment utiliser les libellés de règles pour gérer vos notifications, consultez Annoter des alertes avec des libellés.

  8. Facultatif : Dans la section Documentation, saisissez le contenu que vous souhaitez inclure dans la notification.

    Pour mettre en forme votre documentation, vous pouvez utiliser du texte brut, Markdown et des variables. Vous pouvez également inclure des liens pour aider les utilisateurs à déboguer l'alerte, par exemple des liens vers des playbooks internes, des tableaux de bord Google Cloud et des pages externes. Par exemple, le modèle de documentation suivant décrit une alerte d'utilisation du processeur pour une ressource gce_instance et inclut plusieurs variables pour référencer les ressources REST de la règle et de la condition d'alerte. Le modèle de documentation redirige ensuite les lecteurs vers des pages externes pour les aider à déboguer.

    Lorsque des notifications sont créées, Monitoring remplace les variables de documentation par leurs valeurs. Les valeurs remplacent les variables uniquement dans les notifications. Le volet d'aperçu et d'autres emplacements de la console Google Cloud n'affichent que la mise en forme Markdown.

    Aperçu

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    Format dans la notification

    Exemple d'affichage de la documentation dans une notification.

    Pour en savoir plus, consultez Annoter les notifications avec une documentation définie par l'utilisateur et Utiliser les commandes de canal.

  9. Cliquez sur Nom de l'alerte et saisissez un nom pour la règle d'alerte.

  10. Cliquez sur Créer une règle.

Filtrer la série temporelle sélectionnée

Les filtres garantissent que seules les séries temporelles répondant à un ensemble de critères sont surveillées. Lorsque vous appliquez des filtres, vous pouvez réduire le nombre de lignes sur le graphique, ce qui peut améliorer ses performances. Vous pouvez également réduire la quantité de données surveillées en appliquant l'agrégation. Les filtres permettent de s'assurer que seules les séries temporelles répondant à un ensemble de critères sont utilisées. Lorsque vous appliquez des filtres, il y a moins de séries temporelles à évaluer, ce qui peut améliorer les performances de l'alerte.

Un filtre est composé d'une étiquette, d'un comparateur et d'une valeur. Par exemple, pour faire correspondre toutes les séries temporelles dont le libellé zone commence par "us-central1", vous pouvez utiliser le filtre zone=~"us-central1.*", qui utilise une expression régulière pour effectuer la comparaison.

Lorsque vous filtrez par ID du projet ou par conteneur de ressources, vous devez utiliser l'opérateur d'égalité (=). Lorsque vous filtrez par d'autres libellés, vous pouvez utiliser n'importe quel comparateur compatible. En règle générale, vous pouvez filtrer les étiquettes de métriques et de ressources, ainsi que par groupe de ressources.

Lorsque vous fournissez plusieurs critères de filtrage, seules les séries temporelles qui répondent à tous les critères sont surveillées.

Pour ajouter un filtre, cliquez sur Ajouter un filtre, remplissez les champs de la boîte de dialogue, puis cliquez sur OK. Dans la boîte de dialogue, utilisez le champ Filtrer pour sélectionner le critère de filtrage, l'opérateur de comparaison, puis la valeur. Le menu déroulant ne liste que les valeurs qui sont apparues au cours de la semaine dernière, mais vous pouvez saisir n'importe quelle valeur. Chaque ligne du tableau suivant liste un opérateur de comparaison, sa signification et un exemple :

OpérateurSignificationExemple
= Égalité resource.labels.zone = "us-central1-a"
!= Différent de resource.labels.zone != "us-central1-a"
=~ Égalité d'expression régulière2 monitoring.regex.full_match("^us.*")
!=~ Expression régulière 2 : inégalité monitoring.regex.full_match("^us.*")
starts_with La valeur commence par resource.labels.zone = starts_with("us")
ends_with La valeur se termine par resource.labels.zone = ends_with("b")
has_substring La valeur contient resource.labels.zone = has_substring("east")
one_of Une resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with La valeur ne commence pas par resource.labels.zone != starts_with("us")
!ends_with La valeur ne se termine pas par resource.labels.zone != ends_with("b")
!has_substring La valeur ne contient pas resource.labels.zone != has_substring("east")
!one_of La valeur n'est pas l'une des suivantes resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

Résoudre les problèmes

Cette section contient des conseils de dépannage.

La métrique ne figure pas dans le menu des métriques disponibles

Pour surveiller une métrique qui ne figure pas dans le menu Sélectionner une métrique, effectuez l'une des opérations suivantes :

  • Pour créer une règle d'alerte qui surveille une métrique Google Cloud , développez le menu Sélectionner une métrique, puis cliquez sur  Actif. Lorsque cette option est désactivée, le menu liste toutes les métriques des servicesGoogle Cloud et toutes les métriques contenant des données.

  • Pour configurer une condition pour un type de métrique personnalisée avant que ce type de métrique ne génère des données, vous devez spécifier le type de métrique à l'aide d'un filtre Monitoring :

    1. Sélectionnez ?. dans l'en-tête de la section Sélectionner une métrique, puis sélectionnez Mode de filtrage direct dans l'info-bulle.
    2. Saisissez un filtre de surveillance ou un sélecteur de série temporelle. Pour en savoir plus sur la syntaxe, consultez les documents suivants :

Surveiller un taux de variation

Pour surveiller le taux de variation d'une valeur de métrique, définissez le champ Fenêtrage glissant sur Variation en pourcentage. Lorsque la condition est évaluée, Monitoring calcule le taux de variation de la métrique sous forme de pourcentage, puis compare ce pourcentage au seuil de la condition. Ce processus de comparaison se déroule en deux étapes :

  1. Si la série temporelle est de type DELTA ou CUMULATIVE, elle est convertie en série temporelle de type GAUGE. Pour en savoir plus sur la conversion, consultez Genres, types et conversions.
  2. Monitoring calcule le pourcentage de variation en comparant la valeur moyenne de la fenêtre glissante de 10 minutes la plus récente à la valeur moyenne de la fenêtre glissante de 10 minutes avant le début de la période d'alignement.

Vous ne pouvez pas modifier la fenêtre glissante de 10 minutes utilisée pour les comparaisons dans une règle d'alerte sur le taux de variation. Toutefois, vous spécifiez la période d'alignement lorsque vous créez la condition.

Étapes suivantes