Créer des règles d'alerte basées sur les métriques prévues

Ce document explique comment utiliser la console Google Cloud pour créer une alerte qui envoie des notifications lorsque la règle prédit que le seuil sera enfreint période de prévision. Une prévision permet de prédire si une série temporelle dépasse un seuil au cours d'une période de prévision, qui est une période de l' à venir. La période de prévision peut aller de d'une heure (3 600 secondes) à 2,5 jours (216 000 secondes).

Ce contenu ne concerne pas les règles d'alerte basées sur les journaux. Pour plus d'informations sur les règles d'alerte basées sur les journaux, qui vous informent lorsqu'un s'affiche dans vos journaux, consultez Surveiller vos journaux

Ce document ne décrit pas les éléments suivants:

À propos des conditions de prévision

Vous pouvez utiliser les prévisions pour surveiller la plupart des métriques. Toutefois, lorsque vous surveillez une ressource limitée, comme un quota, l'espace disque ou l'utilisation de la mémoire, une prévision peut vous avertir avant que le seuil ne soit dépassé. Cette capacité vous donne plus de temps pour réagir à la façon dont cette ressource limitée est consommée avant que le seuil ne soit dépassé.

Pour chaque série temporelle surveillée par une condition de prévision, la condition instancie un algorithme de décision. Une fois l'algorithme entraîné, génère une prévision chaque fois que la condition est évaluée. Chaque prévision est une prédiction que leur série temporelle va ou non violer le seuil dans la période de prévision. Si une série temporelle surveillée possède un la périodicité régulière, alors l'algorithme de décision cette série temporelle intègre le comportement périodique dans ses prévisions.

Une condition de prévision est remplie lorsque l'un des cas suivants, ou les deux, se produit:

  • Toutes les valeurs d'une série temporelle pendant une période de nouveau test spécifique dépassent le seuil.
  • Toutes les prévisions pour une série temporelle spécifique effectuées dans une fenêtre de nouveau test pour prédire que la série temporelle va dépasser le seuil période de prévision.

Le temps d'entraînement initial d'un algorithme de décision est le double de la durée période de prévision. Par exemple, si la période de prévision est d'une heure, deux heures d'entraînement sont nécessaires. L'algorithme de décision pour chaque sont entraînées indépendamment les unes des autres. Pendant qu'un algorithme de décision est entraîné, sa série temporelle ne remplit la condition que lorsque les valeurs de série temporelle ne respectent pas le seuil défini pour la fenêtre de nouveau test spécifiée.

Une fois l'entraînement initial terminé, chaque algorithme de décision est entraîné à l'aide de données qui couvrent jusqu'à six fois la durée de la fenêtre de prévision. Par exemple, lorsque la période de prévision est d'une heure, les six dernières heures des données sont utilisées au cours d'un entraînement continu.

Lorsque vous configurez une condition de prévision, puis que les données cessent d'arriver pour plus de 10 minutes, la prévision est désactivée et la condition fonctionne comme une condition de seuil de métrique.

Des incidents sont créés lorsque la prévision prédit qu'une série temporelle ne respectera pas le seuil de la condition au cours de la période de prévision. Monitoring ferme automatiquement l'incident la prévision prédit que la série temporelle n'atteindra pas le seuil au cours de la période de prévision.

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 Éditeur Monitoring (roles/monitoring.editor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

    Vous pouvez également obtenir les autorisations requises via 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 connaître les concepts généraux des règles d'alerte. Pour en savoir plus sur ces sujets, consultez Vue d'ensemble 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 envoie une notification basée sur une prévision, effectuer les opérations suivantes:

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

    Accéder à l'interface des alertes

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

  2. Sélectionnez Créer une règle.
  3. Sélectionnez la série temporelle à surveiller :

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

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

      • Pour rechercher un type de métrique spécifique, utilisez le Barre de filtres. Par exemple, si vous saisissez util, vous limitez le menu aux afficher les entrées contenant util. Les entrées s'affichent lorsqu'elles réussissent un mot clé "contient" non sensible à la casse test.
      • Pour afficher tous les types de métriques, même celles sans données, cliquez sur Actif. Par défaut, les menus n'afficher que les types de métriques avec des données. Pour en savoir plus, consultez Métrique non répertoriée dans le menu.

      Vous pouvez surveiller n'importe quelle métrique intégrée ou n'importe quelle type de métrique dont le type de valeur est "double" ou "int64", Il s'agit d'une métrique de contrainte, et non d'une métrique Instance de VM Amazon.

      Si vous sélectionnez un type de métrique générant plus de 64 séries temporelles surveillées, La surveillance permet de prévoir les 64 séries temporelles dont les valeurs sont les plus proches ou dépassent déjà le seuil. Autre des séries temporelles, leurs valeurs sont comparées au seuil.

    2. Facultatif: Pour surveiller un sous-ensemble de la série temporelle correspondant aux les types de ressources et de métriques sélectionnés à l'étape précédente, cliquez sur Ajouter un filtre. Dans la boîte de dialogue "Filtrer", sélectionnez l'étiquette par 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 avec 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, procédez comme suit : Dans la section Transformer les données, définissez la fenêtre glissante et Champs du fenêtrage glissant.

      Ces champs spécifient comment les points enregistrés dans une fenêtre sont combinés. Par exemple, supposons que la fenêtre dure 15 minutes et que le fenêtrage est max. Le point aligné est la valeur maximale de toutes au cours des 15 dernières minutes. Pour en savoir plus, consultez Alignement: régularisation au sein de la série.

      Vous pouvez également surveiller la fréquence à laquelle la valeur d'une métrique change. Utilisez le champ Fenêtrage glissant pour indiquer un pourcentage de variation. Pour en savoir plus, consultez l'article Contrôler une variation.

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

      Pour combiner toutes les séries temporelles, procédez comme suit:

      1. Dans la section Sur plusieurs séries temporelles, cliquez sur Développer.
      2. Définissez le champ Agrégation de séries temporelles sur une valeur autre que none Par exemple, pour afficher la valeur moyenne 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 de libellé, procédez comme suit:

      1. Dans la section Sur plusieurs 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 Time series group by (Regrouper par séries temporelles), sélectionnez les étiquettes. à regrouper.

      Par exemple, si vous effectuez un regroupement par libellé zone, puis que vous définissez le d'agrégation sur une valeur de mean, le graphique affiche une série temporelle pour chaque zone pour laquelle des données sont disponibles. La La série temporelle affichée pour une zone spécifique correspond à la moyenne de toutes les séries temporelles avec cette zone.

    5. Cliquez sur Suivant.

  4. Configurez le déclencheur de condition:

    1. Sélectionnez Prévision pour le type de condition.

    2. Sélectionnez une valeur pour le menu Déclencheur d'alerte. Ce menu vous permet spécifier le sous-ensemble de séries temporelles qui doit dépasser le seuil avant que la condition ne soit remplie.

    3. Sélectionnez une valeur pour la Fenêtre de prévision. La valeur que vous sélectionnez est la durée future de la prévision. Cette valeur doit être d'au moins 1 heure (3 600 secondes) et de la plupart des 2,5 jours (216 000 secondes).

    4. Indiquez quand la valeur prédite de la métrique sélectionnée ne respecte pas les à l'aide des paramètres Position du seuil Champs Valeur du seuil. Par exemple, si vous définissez ces valeurs sur Au-dessus du seuil et 10, alors toute valeur prédite supérieure à 10 dépasse le seuil.

    5. Facultatif: Développez Options avancées et définissez la valeur du paramètre Fenêtre de nouveau test. La valeur par défaut de ce champ est Pas de nouveau test. Nous vous recommandons de définir ce champ sur au moins 10 minutes.

      Par exemple, supposons que vous configuriez la condition de prévision de sorte que les une série temporelle peut remettre la condition en question. Supposons également que la valeur Le paramètre Intervalle de nouveau test est défini sur 15 minutes, et la Fenêtre de prévision est définie. à 1 heure. Un non-respect se produit lorsque la valeur de la série temporelle est supérieure à la valeur Threshold (Seuil) qui est définie sur 10. La condition est remplie dans les cas suivants:

      • Toutes les valeurs d'une série temporelle deviennent supérieures à 10 et y restent pendant au moins 15 minutes.
      • Sur un intervalle de 15 minutes, chaque prévision d'une série temporelle prédit que sa valeur dépassera le seuil de 10 dans l'heure qui suit.
    6. Facultatif: Pour spécifier la manière dont Monitoring évalue le lorsque les données cessent d'arriver, développez Options avancées Ensuite, utilisez le menu Évaluation des données manquantes.

      Le menu Évaluation des données manquantes est désactivé lorsque la valeur du paramètre L'option Fenêtre de nouveau test indique Aucun nouveau test.

      Lorsque des données sont manquantes pour plus de 10 minutes, la condition de prévision cesse et utilise à la place la valeur du champ Évaluation des données manquantes pour déterminer comment gérer les incidents. Lorsque les observations redémarrent, les prévisions sont redémarrées.

      Console Google Cloud
      « Évaluation des données manquantes » champ
      Résumé Détails
      Données manquantes vides Les incidents ouverts restent ouverts.
      Les nouveaux incidents ne sont pas ouverts.

      Lorsque les conditions sont remplies, la condition est toujours est satisfaite lorsque les données cessent d'arriver. Si un incident est ouvert pour cette condition, alors l’incident reste ouvert. Lorsqu'un incident est ouvert et qu'aucune donnée n'est disponible arrive, le minuteur de fermeture automatique démarre après un délai d'au moins 15 minutes. Si le délai expire, l'incident est clôturé.

      Lorsque les conditions ne sont pas remplies, lorsque les données cessent d'arriver.

      Points de données manquants traités comme des valeurs qui ne respectent pas la condition du règlement Les incidents ouverts restent ouverts.
      De nouveaux incidents peuvent être ouverts.

      Lorsque les conditions sont remplies, la condition est toujours est satisfaite lorsque les données cessent d'arriver. Si un incident est ouvert pour cette condition, alors l’incident reste ouvert. Lorsqu'un incident est ouvert et qu'aucune donnée n'arrive pour la fermeture automatique plus 24 heures, l’incident est clos.

      Lorsque les conditions ne sont pas remplies, le paramètre condition de seuil de métrique pour qu'elle se comporte comme une 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 alors évaluée comme remplie. Pour une règle d'alerte avec une condition, la condition remplie entraîne l'ouverture d'un incident.

      Points de données manquants traités comme des valeurs n'enfreignant pas la condition du règlement Les incidents ouverts sont fermés.
      Les nouveaux incidents ne sont pas ouverts.

      Pour les conditions remplies, la condition cesse d'être remplie lorsque : les données cessent d'arriver. Si un incident est ouvert pour cette condition, alors l’incident est clos.

      Lorsque les conditions ne sont pas remplies, lorsque les données cessent d'arriver.

    7. Cliquez sur Suivant.

  5. 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 et surveiller le nombre d'octets écrits dans une instance de VM. Quand vous voulez pour surveiller plusieurs types de métriques, créez une règle avec plusieurs conditions. Chaque condition surveille un type de métrique. Après avoir créé les conditions, vous spécifiez comment les conditions sont combinées. Pour en savoir plus, consultez Règles avec plusieurs conditions :

    Pour créer une règle d'alerte avec plusieurs conditions, procédez comme suit:

    1. Pour chaque condition supplémentaire, cliquez sur Ajouter une condition d'alerte, puis configurer cette condition.
    2. Cliquez sur Suivant et configurez le mode de combinaison des conditions.
    3. Cliquez sur Suivant pour accéder aux notifications et à la documentation. configuration.
  6. Configurez les notifications:

    1. Développez le menu Notifications et nom et sélectionnez votre notification. canaux de distribution. À des fins de redondance, nous vous recommandons d'ajouter plusieurs types de canaux de notification. Pour en savoir plus, consultez Gérer les canaux de notification.

    2. Facultatif: Pour recevoir une notification lorsqu'un incident est clôturé, sélectionnez Envoyer une notification lors de la clôture de l'incident Par défaut, lorsque vous créez une règle d'alerte avec le paramètre console Google Cloud, une notification n'est envoyée que lorsqu'un incident créé.

    3. Facultatif: Pour modifier le délai d'attente de Monitoring un incident lorsque les données cessent d'arriver, sélectionnez une option dans Menu Durée de la fermeture automatique de l'incident Par défaut, lorsque les données n'arrivent plus, Monitoring attend sept jours avant de fermer un incident ouvert.

    4. Sélectionnez une option dans le menu Niveau de gravité de la règle. Incidents et les notifications affichent le niveau de gravité.

    5. Facultatif: Pour ajouter des étiquettes personnalisées à la règle d'alerte, dans la section Libellés utilisateur des règles, procédez comme suit:

      1. Cliquez sur Ajouter une étiquette, puis dans le champ Clé, saisissez un nom pour la libellé. Les noms des é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, puis saisissez la valeur de votre libellé. Les valeurs d'étiquette contenir des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Par exemple, saisissez critical.

      Découvrez comment utiliser les libellés de stratégie pour gérer plus facilement vos notifications, consultez Annotez les incidents à l'aide de libellés.

  7. Facultatif: Dans la section Documentation, saisissez le contenu de votre choix. inclus dans la notification.

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

    Lorsque des notifications sont créées, Monitoring remplace les variables de documentation et leurs valeurs. Les valeurs remplacent les variables uniquement dans les notifications. La Volet d'aperçu et autres emplacements dans la console Google Cloud afficher uniquement le formatage 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
    

    Mettre en forme dans la notification

    Exemple d'affichage de la documentation dans une notification.

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

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

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

Filtrer la série temporelle sélectionnée

Les filtres permettent de s'assurer que seules les séries temporelles répondant à certains critères sont de surveillance. Lorsque vous appliquez des filtres, vous pouvez réduire le nombre de lignes du graphique, ce qui peut améliorer les performances du graphique. Vous pouvez également réduire quantité de données surveillée en appliquant une 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, vous avez moins de séries temporelles à évaluer, ce qui peut d'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 peut utiliser le filtre zone=~"us-central1.*", qui utilise une expression régulière ; pour effectuer la comparaison.

Lorsque vous filtrez par ID de projet ou par conteneur de ressources, vous devez utiliser l'opérateur "égal", (=). Lorsque vous filtrez par autres étiquettes, vous pouvez utiliser n'importe quel comparateur compatible. En règle générale, vous pouvez filtrer les étiquettes de métrique et de ressource, et groupe de ressources.

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

Pour ajouter un filtre, cliquez sur Ajouter un filtre, renseignez 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 critère de filtrage, sélectionnez l'opérateur de comparaison, puis sélectionnez la valeur. Chaque ligne du tableau suivant répertorie un opérateur de comparaison, sa signification et un Exemple:

OpérateurSignificationExemple
= Égalité resource.labels.zone = "us-central1-a"
!= Inégalité resource.labels.zone != "us-central1-a"
=~ Égalité Expression régulière 2 monitoring.regex.full_match("^us.*")
!=~ Inégalité Expression régulière2 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.

Métrique non listée dans le menu des métriques disponibles

Pour surveiller une métrique non répertoriée dans le menu Sélectionner une métrique, procédez comme suit : l'une des options 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 affiche toutes les métriques pour services Google Cloud, et toutes les métriques avec des données.

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

    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 la Fenêtrage glissant sur pourcentage de variation. Une fois la condition évaluée, Monitoring calcule le taux de variation de la métrique en pourcentage, puis compare ce pourcentage au seuil de la condition. Ce processus de comparaison comporte deux étapes:

  1. Si la série temporelle comporte un genre de métrique DELTA ou CUMULATIVE, alors la série temporelle est convertie en une série de genre de métrique GAUGE. Pour en savoir plus sur la 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 période glissante de 10 minutes utilisée pour les comparaisons dans une règle d'alerte de taux d'évolution. Cependant, vous spécifiez la période d'alignement lorsque vous créez la condition.

Restrictions

  • Vous pouvez configurer la condition à l'aide de l'interface accessible via le menu de la la console Google Cloud ou à l'aide de filtres Monitoring. Vous ne pouvez pas configurer la condition à l'aide du langage Monitoring Query Language ou de PromQL.
  • Toutes les métriques dont le type de valeur est "double" ou "int64" sont à l'exception de ceux des instances de VM Amazon.

Étape suivante