Ce document explique comment utiliser la console Google Cloud pour créer une alerte qui envoie des notifications lorsqu'une règle de surveillance ne contient aucune donnée pour 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 temps d'absence du déclencheur. La durée d'absence maximale du déclencheur configurable est de 23,5 heures.
Par exemple, supposons que vous définissiez le délai d'absence du déclencheur en tant que délai d'absence de métrique est définie sur 30 minutes. La condition ne sera pas remplie lorsque le sous-système qui écrit des données de métriques 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 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:
- Recevoir une notification lorsque les valeurs d'une métrique sont supérieures ou inférieures à un seuil Pour plus d'informations, consultez la section Créer des règles d'alerte basées sur les métriques.
- Recevoir une notification en fonction de la valeur prédite d'une métrique Pour plus pour en savoir plus, consultez Créez des règles d'alerte basées sur les métriques prévues.
Créer une règle d'alerte à l'aide de l'API Cloud Monitoring Pour plus pour en savoir plus, consultez Créer des règles d'alerte à l'aide de l'API
Créer une règle d'alerte dont la condition inclut une requête MQL (Monitoring Query Language) Ces règles peuvent utiliser un modèle statique ou dynamique de sortie. Pour en savoir plus, consultez les documents suivants :
Avant de commencer
-
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
) dans votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.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.
Assurez-vous de bien maîtriser les concepts généraux des règles d'alerte. Pour en savoir plus sur ces sujets, consultez la page Présentation des alertes.
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 la page 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 pour une période d'absence de déclencheur spécifique, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page notificationsAlertes :
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.
- 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 le
filter_list Barre de filtres.
Par exemple, si vous saisissez
util
, vous limitez le menu aux afficher les entrées contenantutil
. Les entrées s'affichent lorsqu'elles réussissent un mot clé "contient" non sensible à la casse test.
Vous pouvez surveiller n'importe quelle métrique intégrée ou n'importe quelle la métrique.
- Pour rechercher un type de métrique spécifique, utilisez le
filter_list Barre de filtres.
Par exemple, si vous saisissez
Facultatif : Pour surveiller un sous-ensemble de la série temporelle correspondant aux métriques et aux types de ressources que vous avez 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 parus
et se termine par aveca
. Pour en savoir plus, consultez Filtrer la série temporelle sélectionnéeFacultatif : 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.
Si vous surveillez une métrique basée sur les journaux, nous vous recommandons de définir le menu Plage glissante sur au moins 10 minutes.
Ces champs spécifient comment 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 fonction de fenêtre soit
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.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 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 la page Réduction: combinaison de séries temporelles.
Pour combiner toutes les séries temporelles, procédez comme suit :
- Dans la section Sur plusieurs 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 Grouper les séries temporelles par est vide.
Pour combiner ou regrouper des séries temporelles par valeurs de libellé, procédez comme suit:
- Dans la section Sur plusieurs 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 Grouper les séries temporelles par, sélectionnez les libellés de regroupement.
Par exemple, si vous regroupez par libellé
zone
, puis que vous définissez le champ d'agrégation surmean
, 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 condition:
Sélectionnez Absence de métrique comme type de condition.
Facultatif: Mettez à jour le menu Déclencheur d'alerte, qui présente les valeurs suivantes:
Toute violation de série temporelle : 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 la satisfaction de la condition.
Pourcentage de séries temporelles enfreintes : un pourcentage de séries temporelles doit présenter des données manquantes pendant toute la durée d'absence du déclencheur avant que la condition ne soit remplie. Par exemple, vous pouvez recevoir une notification lorsque 50 % des séries temporelles surveillées ne disposent pas de données pour toute la durée d'absence du déclencheur.
Nombre de séries temporelles enfreintes: nombre spécifique de séries temporelles doit comporter des données absentes pour toute la durée d'absence du déclencheur avant que la condition ne soit remplie. Pour par exemple, vous pouvez recevoir une notification les séries temporelles ne comportent pas de données pour l'intégralité du temps d'absence du déclencheur.
Toutes les séries temporelles ne respectent pas : toutes les séries temporelles doivent comporter des données manquantes 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 la surveillance pour aligner et mesurer les données de séries temporelles, consultez la section Périodes d'alignement et périodes de nouvelle analyse.
Spécifiez la durée pendant laquelle les données de métriques doivent être absentes avant Surveillance vous avertit via le champ Délai d'absence du déclencheur.
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 Next (Suivant) pour passer à la configuration des notifications et de la documentation.
Configurez les notifications:
Développez le menu Notifications et nom, puis sélectionnez vos canaux de notification. À des fins de redondance, nous vous recommandons d'ajouter à une règle d'alerte plusieurs types de canaux de notification. Pour en savoir plus, consultez Gérer les canaux de notification.
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, si vous créez une règle d'alerte avec la console Google Cloud, il y a envoi d'une notification uniquement à la création d'un incident.
Facultatif: Pour modifier le délai d'attente de Monitoring fermer un incident une fois que 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.
Sélectionnez une option dans le menu Niveau de gravité de la règle. Incidents et les notifications affichent le niveau de gravité.
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 :
- Cliquez sur Ajouter un libellé, puis dans le champ Clé, saisissez un nom pour le libellé. 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 la valeur de votre libellé. Les valeurs de libellé peuvent 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.
- Cliquez sur Ajouter un libellé, puis dans le champ Clé, saisissez un nom pour le libellé. 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 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'utilisation d'une ressource
gce_instance
et inclut plusieurs variables pour référencer la règle d'alerte et la condition REST ressources. 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 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 n'afficher que 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
Format dans la notification
Pour en savoir plus, consultez les pages Annoter les notifications avec une documentation définie par l'utilisateur et Utiliser des commandes 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 sur le graphique, ce qui peut améliorer ses performances. 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 conteneur de ressources, vous devez utiliser l'opérateur d'égalité, (=)
. Lorsque vous filtrez par
autres étiquettes, vous pouvez utiliser n'importe quel comparateur compatible.
En règle générale, vous pouvez filtrer les libellés de métrique et de ressource, ainsi que par groupe de ressources.
Lorsque vous indiquez 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 Filtre pour sélectionner le critère à filtrer, l'opérateur de comparaison, puis la 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" |
!= |
Inequality | 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 |
Valeur commençant par | resource.labels.zone = starts_with("us") |
ends_with |
Valeur se terminant 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 ne correspond pas à l'une des valeurs suivantes | resource.labels.zone != one_of("asia-east1-b", "europe-north1-a") |