Ce document explique comment utiliser la Google Cloud console pour créer une règle d'alerte qui envoie des notifications lorsqu'une série temporelle surveillée ne contient aucune donnée pendant une période spécifique.
Les conditions d'absence de métrique nécessitent au moins une mesure réussie (d'extraction de données) dans la période maximale après l'installation ou la modification de la règle. Cette période est appelée délai d'absence de déclenchement. Le délai d'absence de déclenchement maximal configurable est de 23,5 heures.
Supposons, par exemple, que vous définissiez le délai d'absence de déclenchement d'une règle d'absence de métrique sur 30 minutes. La condition ne sera pas remplie lorsque le sous-système qui écrit les données de métrique n'a jamais écrit de point de données. Pour qu'elle soit remplie, le sous-système doit générer au moins un point de données, puis ne générer aucun point de données supplémentaire pendant 30 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 s'affiche dans les journaux, consultez la page Surveiller vos journaux.
Ce document ne décrit pas les éléments suivants :
- Comment recevoir une notification lorsque les valeurs d'une métrique sont supérieures ou inférieures à un seuil. Pour plus d'informations, consultez Créer des règles d'alerte basées sur un seuil de métrique.
- Comment recevoir une notification en fonction de la valeur prédite d'une métrique. Pour en savoir plus, consultez Créer des règles d'alerte basées sur la valeur prédite d'une métrique.
Comment créer une règle d'alerte à l'aide de l'API Cloud Monitoring. Pour en savoir plus, consultez Créer des règles d'alerte à l'aide de l'API.
Comment créer une règle d'alerte dont la condition inclut une requête MQL (Monitoring Query Language). Ces règles peuvent utiliser un seuil statique ou dynamique. Pour en savoir plus, consultez les documents suivants :
Cette fonctionnalité n'est compatible qu'avec les Google Cloud projets. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion.
Avant de commencer
-
Pour obtenir les autorisations nécessaires pour créer et modifier des règles d'alerte à l'aide de la Google Cloud console, 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 l'accès avec Identity and Access Management.
Assurez-vous de bien connaître les concepts généraux des règles d'alerte. Pour en savoir plus sur ces sujets, consultez Présentation des alertes.
Configurez les canaux de notification que vous souhaitez utiliser pour recevoir les 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 des notifications lorsqu'une série temporelle surveillée ne contient aucune donnée pendant un délai d'absence de déclenchement spécifique, procédez comme suit :
-
Dans la Google Cloud console, accédez à la notifications page Alertes :
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.
- Dans la barre d'outils de la Google Cloud console, sélectionnez votre Google Cloud projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion.
- Sélectionnez Créer une règle.
Sélectionnez la série temporelle à surveiller :
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
filter_list barre de filtre.
Par exemple, si vous saisissez
util, le menu est limité aux entrées qui incluentutil. Les entrées s'affichent lorsqu'elles réussissent un test "contient" non sensible à la casse.
Vous pouvez surveiller n'importe quelle métrique intégrée ou définie par l'utilisateur métrique.
- Pour rechercher un type de métrique spécifique, utilisez la
filter_list barre de filtre.
Par exemple, si vous saisissez
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 du filtre, sélectionnez le libellé à 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 paruset se termine para. Pour en savoir plus, consultez Filtrer la série temporelle sélectionnée.Facultatif : Pour modifier l'alignement des points d'une série temporelle, définissez les champs Fenêtre glissante et Fonction de fenêtre glissante 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 comment les points enregistrés dans une fenêtre sont combinés. Supposons, par exemple, que la fenêtre soit de 15 minutes et que la fenêtrage soit
max. Le point aligné est la valeur maximale de tous les points des 15 dernières minutes. Pour en savoir plus, consultez Alignement : régularisation dans la série.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 ne souhaitez surveiller qu'une collection de séries temporelles. Par exemple, au lieu de surveiller 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 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, procédez comme suit :
- Dans la section Sur l'ensemble des séries temporelles, cliquez sur expand_more Développer.
- Définissez le champ Agrégation de séries temporelles sur une valeur autre que
none. Par exemple, pour afficher la valeur moyenne de la série temporelle, sélectionnezmean. - Vérifiez que le champ Critère de regroupement des séries temporelles est vide.
Pour combiner ou regrouper des séries temporelles par valeurs de libellé, procédez comme suit :
- Dans la section Sur l'ensemble des séries temporelles, cliquez sur expand_more Développer.
- Définissez le champ Agrégation de séries temporelles sur une valeur autre que
none. - Dans le champ Critère de regroupement des séries temporelles, sélectionnez les libellés à regrouper.
Par exemple, si vous utilisez le critère de regroupement
zone, puis définissez le champ d'agrégation sur la valeurmean, le graphique affiche une série temporelle pour chaque zone pour laquelle des données sont disponibles. La série temporelle affichée pour une zone spécifique correspond à la moyenne de toutes les séries temporelles de cette zone.Cliquez sur Suivant.
Configurez le déclencheur de la condition :
Sélectionnez Absence de métrique pour le type de condition.
Facultatif : Mettez à jour le menu Déclencheur d'alerte, qui comporte les valeurs suivantes :
À chaque infraction de série : paramètre par défaut. Toute série temporelle dont les données sont absentes pendant toute la durée d'absence du déclencheur entraîne le respect de la condition.
Pourcentage de séries temporelles enfreintes : un pourcentage de séries temporelles doit avoir des données absentes pendant toute la durée d'absence du déclencheur avant que la condition ne soit remplie. Par exemple, vous pouvez être averti lorsque 50% des séries temporelles surveillées ne contiennent pas de données pendant toute la durée d'absence du déclencheur.
Nombre de séries temporelles enfreintes : un nombre spécifique de séries temporelles doit avoir des données absentes pendant toute la durée d'absence du déclencheur avant que la condition ne soit remplie. Par exemple, vous pouvez être averti lorsque 32 des séries temporelles surveillées ne contiennent pas de données pendant toute la durée d'absence du déclencheur.
Toutes les séries temporelles enfreintes : toutes les séries temporelles doivent avoir des données absentes pendant toute la durée d'absence du déclencheur 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.
Spécifiez la durée pendant laquelle les données de métrique doivent être absentes avant que Monitoring ne vous avertisse à l'aide du champ Délai d'absence de déclenchement.
Cliquez sur Suivant.
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. Une fois les conditions créées, vous spécifiez comment elles 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 :
- Pour chaque condition supplémentaire, cliquez sur Ajouter une condition d'alerte , puis configurez cette condition.
- Cliquez sur Suivant et configurez la combinaison des conditions.
- Cliquez sur Suivant pour passer à la configuration des notifications et de la documentation.
Configurez la notification et ajoutez des libellés utilisateur :
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.
Facultatif : Pour utiliser une ligne d'objet personnalisée dans votre notification au lieu de celle par défaut, mettez à jour le champ Ligne d'objet de la notification.
Facultatif : Pour recevoir une notification en cas de fermeture d'un incident, cochez la case Notifier en cas de fermeture des incidents. Par défaut, si vous créez une règle d'alerte avec la Google Cloud console, une notification n'est envoyée qu'à la création d'un incident.
Facultatif : Pour modifier le délai d'attente de Monitoring avant de fermer un incident après l'arrêt de l'arrivée des données, sélectionnez une option dans le menu Durée de fermeture automatique des incidents. Par défaut, lorsque les données cessent d'arriver, Monitoring attend sept jours avant de fermer un incident ouvert.
Facultatif : Pour associer votre règle d'alerte à une application App Hub, sélectionnez une application, puis un service ou une charge de travail dans la section Libellés d'application. Les incidents et les notifications affichent ces libellés.
Facultatif : Sélectionnez une option dans le menu Niveau de gravité de la règle. Les incidents et les notifications affichent le niveau de gravité.
Facultatif : Pour ajouter des libellés personnalisés à la règle d'alerte, procédez comme suit dans la section Libellés utilisateur de la règle :
- Cliquez sur Ajouter un libellé, puis saisissez un nom pour le
libellé 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. - 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 utiliser les libellés de règle pour gérer vos notifications, consultez Annoter les incidents avec des libellés.
- Cliquez sur Ajouter un libellé, puis saisissez un nom pour le
libellé 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
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'incident, tels que des liens vers des playbooks internes, Google Cloud des tableaux de bord et des pages externes. Par exemple, le modèle de documentation suivant décrit un incident d'utilisation du processeur pour une ressource
gce_instanceet inclut plusieurs variables pour référencer les ressources REST de la règle d'alerte et de la condition. Le modèle de documentation redirige ensuite les lecteurs vers des pages externes pour les aider à déboguer.Lors de la création des notifications, Monitoring remplace les variables de documentation par leurs valeurs. Les valeurs remplacent les variables uniquement dans les notifications. Le volet d'aperçu et les autres emplacements de la Google Cloud console n'affichent que le format 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.comFormat dans la notification
Pour en savoir plus, consultez Annoter les notifications avec une documentation définie par l'utilisateur et Utiliser des contrôles de canal.
Cliquez sur Nom de l'alerte et saisissez un nom pour la règle d'alerte.
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 à un ensemble de critères sont surveillées. Lorsque vous appliquez des filtres, vous pouvez réduire le nombre de lignes du graphique, ce qui peut améliorer ses performances. Vous pouvez également réduire la quantité de données surveillées 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, il y a moins de séries temporelles à évaluer, ce qui peut améliorer les performances de l'alerte.
Un filtre est composé d'un libellé, 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 libellés 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 la boîte de dialogue, puis cliquez sur OK. Dans la boîte de dialogue, utilisez le champ Filtre pour sélectionner le critère de filtrage, sélectionnez l'opérateur de comparaison, puis sélectionnez ou saisissez la valeur. Le menu déroulant ne répertorie que les valeurs qui apparaissent au cours de la semaine dernière, mais vous pouvez saisir n'importe quelle valeur. Chaque ligne du tableau suivant présente un opérateur de comparaison, sa signification et un exemple :
| Opérateur | Signification | Exemple |
|---|---|---|
= |
É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.*") |
!=~ |
Différent de l'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") |