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

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Ce document explique comment utiliser Google Cloud Console pour créer une règle d'alerte qui surveille une métrique. Par exemple, une règle d'alerte qui surveille l'utilisation du processeur d'une machine virtuelle (VM) peut avertir une équipe d'astreinte lorsque cette règle est déclenchée. Une stratégie qui surveille un test de disponibilité peut également envoyer une notification aux équipes d'astreinte et de développement.

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 envoient une notification lorsqu'un message particulier s'affiche dans les journaux, consultez la page Surveiller vos journaux.

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

Avant de commencer

  1. Assurez-vous que votre rôle Identity and Access Management inclut les autorisations du rôle roles/monitoring.alertPolicyEditor. Pour en savoir plus sur les rôles, consultez Contrôle des accès.

  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 la page Présentation des alertes.

  3. Configurez les canaux de notification que vous souhaitez utiliser pour recevoir les alertes. Pour en savoir plus sur ces étapes, consultez la page Gérer les canaux de notification.

    Pour des raisons de redondance, nous vous recommandons de créer plusieurs types de canaux de notification. Pour en savoir plus, consultez Gérer les canaux de notification.

Créer des règles d'alerte

Cette section explique comment créer une règle d'alerte.

Par défaut, lorsque vous commencez à créer un flux d'alerte avec Google Cloud Console, une interface basée sur un menu s'affiche. Ces menus vous permettent de sélectionner le type de métrique que vous souhaitez surveiller et de configurer la règle. Le menu de sélection de métriques répertorie tous les types de métriques générés par les services Google Cloud et les types de métriques personnalisées que vous avez définis, à condition qu'il existe des données pour le type de métrique. Pour en savoir plus sur les étapes de la boîte de dialogue par défaut, consultez la section Flux de règle d'alerte par défaut.

Pour créer une alerte autre qu'un type de métrique généré par un service Google Cloud ou des types de métriques personnalisées que vous avez définis, utilisez l'un des flux d'alerte de création spécialisés. Par exemple, la page Services de Google Cloud Console contient un flux guidé d'alerte de création spécifique à la surveillance des objectifs de niveau de service (SLO). Pour en savoir plus sur les types de règles d'alerte spécialisés qui pourraient vous intéresser, consultez les pages suivantes:

Flux de création de règles d'alerte par défaut

Cette section explique comment créer une règle d'alerte qui surveille un type de métrique intégrée ou un type de métrique personnalisée que vous créez. Les règles décrites dans cette section vous avertissent lorsqu'une métrique est absente ou lorsqu'elle est supérieure ou inférieure à un seuil statique. Pour créer une règle qui compare la valeur d'une série temporelle à un seuil dynamique, vous devez utiliser le format MQL.

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 envoient une notification lorsqu'un message particulier s'affiche dans les journaux, consultez la page Surveiller vos journaux.

Pour créer une règle d'alerte qui surveille une métrique, procédez comme suit:

  1. Dans Google Cloud Console, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring

  2. Dans le volet de navigation, sélectionnez Alertes, puis cliquez sur Créer une règle.

  3. Sélectionnez la série temporelle à surveiller:

    1. Cliquez sur Sélectionner une métrique, puis saisissez dans la barre de filtre le nom du type de métrique ou du type de ressource qui vous intéresse. Par exemple, si vous saisissez "instance de VM" dans la barre de filtre, seuls les types de métriques correspondant aux instances de VM sont répertoriés. Si vous saisissez "CPU", les menus n'affichent que les types de métriques dont le nom contient le terme "CPU".

    2. Parcourez les menus pour sélectionner une métrique, puis cliquez sur Appliquer.

      Si le type de métrique que vous souhaitez surveiller n'est pas répertorié, désactivez Afficher uniquement les ressources actives dans le menu Sélectionner une métrique. Pour en savoir plus, consultez Résoudre les problèmes liés à une métrique non répertoriée dans le menu.

    3. Facultatif: Pour surveiller un sous-ensemble de la série temporelle 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 de filtrage, sélectionnez le libellé en fonction duquel filtrer, un comparateur, puis la valeur de filtre. Par exemple, le filtre zone =~ ^us.*.a$ utilise une expression régulière pour rechercher 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 les données sélectionnées.

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

    Ces champs indiquent comment les points enregistrés dans une fenêtre sont combinés. Par exemple, supposons que la fenêtre dure 15 minutes et qu'elle soit max. Le point aligné correspond à la valeur maximale de tous les échantillons enregistrés au cours des 15 dernières minutes. Pour en savoir plus, consultez Aligner les séries temporelles.

  5. Facultatif: vous pouvez combiner 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 uniquement surveiller une collection de séries temporelles. Par exemple, vous pouvez surveiller l'utilisation du processeur de vos instances de VM pour la moyenne par zone.

    Pour combiner des séries temporelles, cliquez sur Développer dans l'en-tête Sur toute la série temporelle. Par défaut, les séries temporelles ne sont pas combinées.

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

    1. Définissez le champ Agrégation de séries temporelles sur une valeur autre que none. Par exemple, lorsque vous sélectionnez mean, chaque point de la série temporelle affichée correspond à la moyenne des points de la série temporelle individuelle.

    2. Vérifiez que le champ Grouper les séries temporelles par est vide.

    Pour combiner ou regrouper des séries temporelles par valeur de libellé, procédez comme suit:

    1. Définissez le champ Agrégation de séries temporelles sur une valeur autre que none.
    2. Dans le champ Grouper les séries temporelles par, sélectionnez un ou plusieurs libellés de regroupement.

    Par exemple, si vous effectuez un regroupement par zone, puis définissez le champ d'agrégation sur mean, le graphique affiche une série temporelle pour chaque zone. Les séries temporelles affichées pour une zone spécifique correspondent à la moyenne de toutes les séries temporelles associées à cette zone.

    Les champs Transformation des données secondaires sont désactivés par défaut. Lorsque cette option est activée, ces opérations sont appliquées après la transformation principale des données

    Pour en savoir plus, consultez la section Combiner les séries temporelles.

  6. Cliquez sur Suivant et configurez le déclencheur de condition:

    1. Conservez la valeur par défaut (Threshold (Seuil)) dans le champ Condition type (Type de condition), sauf si vous souhaitez être averti lorsque les données ne sont plus disponibles. Dans ce cas, sélectionnez Absence de métrique. Le paramètre par défaut compare la valeur d'une métrique à un seuil.

    2. Pour les conditions d'absence de métrique:

      1. Sélectionnez une valeur dans le menu Déclencheur d'alerte. Ce menu vous permet de spécifier le sous-ensemble de séries temporelles à remplir avant que la condition ne soit déclenchée.
      2. Indiquez le délai d'absence des données de métrique avant de vous avertir à l'aide du champ Heure d'absence du déclencheur.
    3. Pour les conditions Threshold (Seuil), procédez comme suit:

      1. Sélectionnez une valeur dans le menu Déclencheur d'alerte. Ce menu vous permet de spécifier le sous-ensemble de séries temporelles à remplir avant que la condition ne soit déclenchée.

      2. Saisissez le moment où la valeur d'une métrique enfreint 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, toutes les mesures supérieures à 0.3 dépassent le seuil.

      3. Facultatif: pour sélectionner la durée pendant laquelle les mesures doivent enfreindre le seuil avant que l'alerte ne génère un incident, développez Options avancées, puis utilisez le menu Période de test.

        La valeur par défaut est Aucun nouveau test. Avec ce paramètre, une seule mesure peut entraîner une notification. Pour en savoir plus et obtenir un exemple, consultez la section Durée et durée de l'alignement.

      4. Facultatif: Pour spécifier comment Monitoring évalue la condition lorsque les données cessent d'arriver, développez la section Options avancées, puis utilisez le menu Évaluation des données manquantes. Pour activer ce menu, vous devez définir le paramètre Intervalle de test sur une valeur autre que Aucun nouveau test.

        Champ Google Cloud
        "Manquant d'évaluation des données"
        Résumé Détails
        Données manquantes Les incidents ouverts restent ouverts.
        Les nouveaux incidents ne sont pas ouverts.

        Pour les conditions remplies, la condition continue d'être remplie lorsque les données cessent d'arriver. Si un incident est ouvert pour cette condition, il reste ouvert. Lorsqu'un incident est ouvert 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'incident est clos.

        Lorsque les données ne sont plus reçues, les conditions ne sont toujours pas remplies.

        Points de données manquants traités comme des valeurs qui ne respectent pas la condition de la règle Les incidents ouverts restent ouverts.
        Vous pouvez ouvrir de nouveaux incidents.

        Pour les conditions remplies, la condition continue d'être remplie lorsque les données cessent d'arriver. Si un incident est ouvert pour cette condition, il reste ouvert. Lorsqu'un incident est ouvert et qu'aucune donnée n'arrive pendant la durée de la fermeture automatique plus 24 heures, l'incident est clos.

        Pour les conditions qui ne sont pas remplies, ce paramètre entraîne le comportement de la condition de seuil de métrique en tant que 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 é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 valeurs qui n'enfreignent pas le règlement Les incidents ouverts sont fermés.
        Les nouveaux incidents ne sont pas ouverts.

        Lorsque les conditions ne sont plus remplies, elles cessent d'être remplies. Si un incident est ouvert pour cette condition, il est fermé.

        Lorsque les données ne sont plus reçues, les conditions ne sont toujours pas remplies.

  7. 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 dans 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. Après avoir créé les conditions, vous devez les combiner. Pour en savoir plus, consultez la section Stratégies 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, puis configurez-la en suivant les étapes précédentes.
    2. Une fois que vous avez ajouté toutes les conditions, sélectionnez la manière dont elles sont combinées à l'étape Déclencheur multicondition.
  8. Cliquez sur Suivant pour accéder à la page Notifications et nom.

  9. Développez le menu Notification Channels (Canaux de notification) et sélectionnez vos canaux de notification.

    Pour des raisons de redondance, nous vous recommandons d'ajouter plusieurs types de canaux de notification à une règle d'alerte. Pour en savoir plus sur ces recommandations, consultez Gérer les canaux de notification.

  10. Facultatif: Pour être informé de la fermeture d'un incident, sélectionnez Notifier en cas de fermeture d'incident.

    Par défaut, lorsque vous créez une règle d'alerte avec Google Cloud Console, une notification n'est envoyée que lorsqu'un incident est créé.

  11. Facultatif: Pour modifier le délai d'attente de Monitoring avant la fermeture d'un incident après l'arrêt des données, sélectionnez une option dans le menu Durée de la fermeture automatique de l'incident.

    Par défaut, lorsque les données cessent d'arriver, Monitoring attend sept jours avant de fermer un incident ouvert.

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

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

    Pour savoir comment gérer vos alertes à l'aide de libellés de règle, consultez Ajouter des niveaux de gravité à une règle d'alerte.

  13. Facultatif: Pour inclure une documentation personnalisée avec une notification, saisissez ce contenu dans la section Documentation.

    Pour mettre en forme votre documentation, vous pouvez utiliser Markdown. Pour extraire des informations de la règle elle-même afin de personnaliser le contenu de votre documentation, vous pouvez utiliser des variables. Par exemple, la documentation peut inclure un titre tel que Addressing High CPU Usage (Résoudre l'utilisation élevée du processeur) et des informations permettant d'identifier le projet :

    ## Addressing High CPU Usage
    
    This note contains information about high CPU Usage.
    
    You can include variables in the documentation. For example:
    
    This alert originated from the project ${project}, using
    the variable $${project}.
    

    Lors de la création des notifications, Monitoring remplace les variables par leurs valeurs. Les valeurs remplacent les variables uniquement dans les notifications. Le volet d'aperçu et à d'autres emplacements dans Google Cloud Console n'affichent que la mise en forme Markdown:

    Exemple de rédaction d'une note de documentation avec Markdown.

    Pour en savoir plus sur Markdown et les variables, consultez la page Utiliser Markdown et les variables dans les modèles de documentation.

    Pour en savoir plus sur l'inclusion de tags spécifiques au canal pour contrôler les notifications, consultez la page Utiliser des contrôles de canal.

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

  15. Cliquez sur Create policy (Créer une régle).

Créer une règle d'alerte de taux d'évolution

Pour recevoir une notification lorsque le taux de modification d'une métrique dépasse un seuil, créez une règle d'alerte relative au taux d'évolution. Par exemple, pour recevoir une notification lorsque l'utilisation du processeur augmente trop rapidement, créez ce type de règle.

Pour créer ce type de règle, suivez la procédure décrite dans Flux de création de règles d'alerte par défaut. Toutefois, assurez-vous de définir le champ Fenêtrage glissant sur pourcentage de variation.

Lorsque vous sélectionnez la fonction de pourcentage de modification, Monitoring effectue les opérations suivantes:

  1. Si la série temporelle possède un genre de métrique DELTA ou CUMULATIVE, elle est convertie en un genre de métrique GAUGE. Pour en savoir plus sur la conversion, consultez Genres, types et conversions.
  2. Les pourcentages de calcul sont modifiés en comparant la valeur moyenne de la fenêtre de 10 minutes la plus récente à la valeur moyenne de la fenêtre de 10 minutes précédant la période de test.

    La période d'analyse de 10 minutes est une valeur fixe ; vous ne pouvez pas la modifier. Cependant, vous spécifiez la fenêtre de nouveau test lorsque vous créez une condition.

Créer une règle d'alerte d'état de processus

Pour surveiller le nombre de processus exécutés sur vos VM qui répondent aux conditions que vous spécifiez, créez une règle d'alerte indiquant l'état des processus. Par exemple, vous pouvez compter le nombre de processus démarrés par l'utilisateur racine. Vous pouvez également compter le nombre de processus dont la commande d'invocation contenait une chaîne spécifique. Une règle d'alerte peut vous avertir lorsque le nombre de processus est supérieur ou inférieur à un seuil. Pour en savoir plus sur les processus pouvant être surveillés, consultez la section Processus surveillés.

Les métriques d'état des processus sont disponibles lorsque l'agent Ops ou l'agent Monitoring s'exécute sur les ressources surveillées. Pour plus d'informations sur les agents, consultez Agents de la suite Google Cloud Operations.

Pour surveiller le nombre de processus exécutés sur une VM, procédez comme suit:

  1. Dans Google Cloud Console, sélectionnez Monitoring ou cliquez sur le bouton suivant:
    Accéder à Monitoring

  2. Dans le volet de navigation, sélectionnez Alertes, puis cliquez sur Créer une règle.

  3. 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.

  4. Saisissez un filtre Monitoring.

    Par exemple, pour compter le nombre de processus exécutés sur des instances de VM Compute Engine dont le nom inclut nginx, saisissez la commande suivante :

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    Pour en savoir plus sur la syntaxe, consultez les ressources suivantes :

  5. Complétez la boîte de dialogue de la règle d'alerte. Ces étapes ne sont décrites que dans cette section. Pour en savoir plus, consultez la section Flux de règle d'alerte par défaut:

    1. Facultatif: Vérifiez et mettez à jour les paramètres de transformation des données.
    2. Cliquez sur Suivant et configurez le déclencheur de condition.
    3. Cliquez sur Suivant, puis suivez la procédure de notification et de documentation.
    4. Cliquez sur Nom de l'alerte et saisissez un nom pour la règle d'alerte.
    5. Cliquez sur Create policy (Créer une régle).

Processus surveillés

Les processus qui s'exécutent dans votre système ne peuvent pas tous être surveillés par une condition d'état de processus. Cette condition sélectionne les processus à surveiller à l'aide d'une expression régulière appliquée à la ligne de commande qui a appelé le processus. Lorsque le champ de ligne de commande n'est pas disponible, le processus ne peut pas être surveillé.

Pour déterminer si un processus peut être surveillé par une condition d'état de processus, vous pouvez examiner les processus actifs. Par exemple, sur un système Linux, vous pouvez utiliser la commande ps:

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

Lorsqu'une entrée COMMAND est entourée de crochets, par exemple [nfsd], les informations de ligne de commande pour le processus ne sont pas disponibles. Dans ce cas, vous ne pouvez pas surveiller le processus à l'aide de Cloud Monitoring.

Créer une règle d'alerte de SLO

Pour recevoir une notification lorsqu'un système risque de ne pas respecter un objectif de niveau de service (SLO) défini, créez une règle d'alerte. Par exemple, pour certains systèmes, un SLO peut être de 99% sur une semaine calendaire. Un autre SLO peut indiquer que la latence ne peut dépasser 300 ms que dans 5 % des requêtes sur une période glissante de 30 jours.

Pour en savoir plus sur la création d'une alerte pour un SLO, consultez les documents suivants:

Pour créer une règle d'alerte de SLO lorsque vous utilisez l'API Cloud Monitoring, les données que vous fournissez à l'API incluent un sélecteur de séries temporelles. Pour en savoir plus sur ces sélecteurs, consultez la section Récupérer des données de SLO.

Vous pouvez créer une règle d'alerte de SLO à l'aide de l'interface d'alerte de Google Cloud Console. Pour ce faire, suivez la procédure décrite dans Créer une règle d'alerte d'état de processus. Toutefois, lorsque vous atteignez l'étape de saisie d'un filtre Monitoring, saisissez un sélecteur de série temporelle au lieu d'une expression d'état de processus.

Créer une règle d'alerte de groupe de ressources

Si vous souhaitez surveiller une collection de ressources, dont l'appartenance au groupe est définie par certains critères, créez un groupe de ressources et surveillez le groupe. Par exemple, vous pouvez définir un groupe de ressources pour les instances de VM Compute Engine que vous utilisez pour la production. Après avoir créé ce groupe, vous pouvez créer une règle d'alerte qui ne surveille que ce groupe d'instances. Lorsque vous ajoutez une VM correspondant aux critères du groupe, la règle d'alerte surveille automatiquement cette VM.

Vous pouvez créer une règle d'alerte de groupe de ressources à l'aide de Google Cloud Console. Pour ce faire, suivez la procédure décrite dans Créer une règle d'alerte d'état de processus. Toutefois, après avoir sélectionné la métrique, ajoutez un filtre qui limite les séries temporelles à celles correspondant aux critères du groupe.

Pour créer une règle d'alerte qui surveille un groupe de ressources, procédez comme suit:

  1. Dans Google Cloud Console, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring

  2. Dans le volet de navigation, sélectionnez Alertes, puis cliquez sur Créer une règle.

  3. Sélectionnez la série temporelle à surveiller:

    1. Cliquez sur Sélectionner une métrique, puis saisissez dans la barre de filtre le nom du type de métrique ou du type de ressource qui vous intéresse. Par exemple, si vous saisissez "instance de VM" dans la barre de filtre, seuls les types de métriques correspondant aux instances de VM sont répertoriés. Si vous saisissez "CPU", les menus n'affichent que les types de métriques dont le nom contient le terme "CPU".

    2. Parcourez les menus pour sélectionner une métrique, puis cliquez sur Appliquer.

      Si le type de métrique que vous souhaitez surveiller n'est pas répertorié, désactivez Afficher uniquement les ressources actives dans le menu Sélectionner une métrique. Pour en savoir plus, consultez Résoudre les problèmes liés à une métrique non répertoriée dans le menu.

    3. Cliquez sur Ajouter un filtre, puis sélectionnez Groupe.

    4. Développez Valeur , puis sélectionnez le nom du groupe.

    5. Cliquez sur OK.

  4. Suivez la procédure de configuration de la règle d'alerte, comme décrit dans Flux de création d'une règle d'alerte par défaut.

Créer une règle d'alerte de test de disponibilité

Nous vous recommandons de créer une règle d'alerte pour vous avertir lorsqu'un test de disponibilité échoue. L'infrastructure des tests de disponibilité inclut un processus guidé de création d'alertes. Pour en savoir plus sur ces étapes, consultez la page Alertes sur les tests de disponibilité.

Dépannage: métrique non répertoriée dans le menu

Par défaut, les menus Sélectionner une métrique répertorient tous les types de métriques pour lesquels il existe des données. Par exemple, si vous n'utilisez pas Pub/Sub, ces menus ne répertorient aucune métrique Pub/Sub.

Vous pouvez configurer une alerte même si les données que l'alerte doit surveiller n'existent pas encore:

  • Pour créer une alerte qui surveille une métrique Google Cloud, suivez la procédure décrite dans la section Flux de création d'une règle d'alerte par défaut. Toutefois, à l'étape où vous sélectionnez une métrique, désactivez Afficher uniquement les ressources actives &métriques dans le menu Sélectionner une métrique. Lorsque cette option est désactivée, le menu répertorie toutes les métriques des services Google Cloud, ainsi que toutes les métriques contenant des données.

  • Pour configurer une alerte pour un type de métrique personnalisée avant qu'il ne génère des données, suivez la procédure décrite dans Créer une règle d'alerte d'état de processus. Lorsque vous atteignez l'étape de saisie d'un filtre Monitoring, saisissez un filtre spécifiant le type de métrique et la ressource. Voici un exemple de filtre Monitoring spécifiant un type de métrique:

    metric.type="compute.googleapis.com/instance/disk/write_bytes_count"
    resource.type="gce_instance"