Sélectionner et configurer des métriques

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

Ce document décrit les champs que vous avez définis lors de la configuration de la condition d'une règle d'alerte. En règle générale, vous créez une règle d'alerte lorsque vous souhaitez être averti lorsque des données de séries temporelles, telles que l'utilisation du processeur d'une machine virtuelle, remplissent certaines conditions. 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 utilise la terminologie de l'interface basée sur des menus de la console Google Cloud. Toutefois, les informations conceptuelles s'appliquent à toutes les approches que vous pouvez utiliser pour créer une règle d'alerte. Pour en savoir plus sur l'utilisation de l'API Cloud Monitoring, consultez la page Règles d'alerte dans l'API Cloud Monitoring.

Sélectionner les données à afficher

Pour spécifier les métriques à afficher lors de la création d'une règle d'alerte, vous spécifiez les valeurs d'une métrique et d'un type de ressource:

Pour configurer une condition dans une règle d'alerte, vous pouvez utiliser l'API Cloud Monitoring ou Google Cloud Console. La boîte de dialogue par défaut que vous utilisez pour créer une règle d'alerte lorsque vous utilisez Google Cloud Console est pilotée par un menu. Toutefois, si vous préférez utiliser le langage MQL (Monitoring Query Language), vous pouvez configurer la console Google Cloud pour activer un éditeur MQL.

Toutes les séries temporelles ne peuvent pas être représentées par une métrique et un modèle de ressource. Par exemple, vous ne pouvez pas spécifier de métrique ni de ressource lorsque vous souhaitez surveiller le nombre de processus exécutés sur une machine virtuelle (VM). Dans de telles situations, configurez la console Google Cloud pour ouvrir le mode de filtrage direct.

Mode par défaut

Utilisez le mode par défaut lorsque vous souhaitez configurer une condition qui surveille un type de métrique pour un type de ressource spécifique et que vous ne souhaitez pas utiliser le langage MQL (Monitoring Query Language). Par défaut, les menus ne répertorient que les métriques pour lesquelles des données ont été reçues. Un bouton vous permet de lister toutes les métriques Google Cloud.

  • Le champ metric identifie les mesures à collecter à partir d'une ressource surveillée. Il inclut une description de ce qui est mesuré et de la manière dont ces mesures sont interprétées. Metric est une forme abrégée de type de métrique. Pour obtenir des informations conceptuelles à ce sujet, consultez la section Types de métriques.

  • Le champ resource type spécifie la ressource en provenance de laquelle les données de métrique sont capturées. Le type de ressource est parfois appelé type de ressource surveillée ou ressource. Pour obtenir des informations conceptuelles à ce sujet, consultez la section consacrée aux ressources surveillées.

Pour utiliser le mode par défaut, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez Alertes.
  3. Cliquez sur Créer une règle.
  4. Sélectionnez une ressource et une métrique à l'aide du menu Sélectionner une métrique.
  5. Ajoutez des filtres, spécifiez la transformation de données et remplissez la boîte de dialogue de règle d'alerte. Pour en savoir plus, consultez Créer une règle d'alerte basée sur les métriques.

Mode MQL

Pour décrire la condition ou surveiller un ratio de métriques à l'aide du langage MQL (Monitoring Query Language), utilisez [MQL].

Pour utiliser MQL, procédez comme suit :

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez Alertes.
  3. Cliquez sur Créer une règle.
  4. Dans la barre d'outils, sélectionnez MQL.
  5. Saisissez une expression MQL. Pour en savoir plus sur l'utilisation du langage MQL, consultez la page Utiliser le langage de requête Monitoring.
  6. Renseignez la boîte de dialogue de la règle d'alerte. Pour en savoir plus, consultez la page Gérer des règles d'alerte avec MQL.

Mode de filtrage direct

Pour effectuer l'une des opérations suivantes, utilisez le mode de filtrage direct :

  • Surveillez les objectifs de niveau de service (SLO).
  • Configurez une alerte pour les métriques personnalisées pour lesquelles vous ne disposez pas encore de données.
  • Surveillez le nombre de processus exécutés sur les VM.
  • Vérifiez la syntaxe d'une instruction de filtre à inclure dans une commande API.
  • Configurez une alerte qui spécifie les libellés utilisateur pour lesquels vous ne disposez pas encore de données.

Lorsque vous utilisez le mode de filtrage direct, pour sélectionner la série temporelle, saisissez un filtre Monitoring. Par exemple, le filtre Monitoring suivant dans le graphique indique le nombre de processus dont le nom inclut nginx:

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

Le filtre suivant sélectionne la série temporelle Disk write bytes pour les VM Compute Engine situées dans la zone us-central1-a:

metric.type="compute.googleapis.com/instance/disk/write_bytes_count"
resource.type="gce_instance"
resource.label."zone"="us-central1-a"

Pour saisir un filtre de surveillance ou un sélecteur de série temporelle, procédez comme suit:

  1. Dans la console Google Cloud, sélectionnez Monitoring ou cliquez sur le bouton suivant :
    Accéder à Monitoring
  2. Dans le volet de navigation, sélectionnez Alertes.
  3. Cliquez sur Créer une règle.
  4. 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.
  5. Saisissez un filtre de surveillance ou un sélecteur de série temporelle. Pour en savoir plus sur la syntaxe, consultez les documents suivants:

  6. Spécifiez la transformation de données et remplissez la boîte de dialogue de règle d'alerte. Pour en savoir plus, consultez la page Créer une règle d'alerte d'état de processus.

Filtrer les données sélectionnées

Vous pouvez réduire la quantité de données surveillées en spécifiant des critères de filtre ou 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, moins de séries temporelles à évaluer, ce qui peut améliorer les performances de l'alerte.

Lorsque vous fournissez plusieurs critères de filtrage, le graphique correspondant n'affiche que les séries temporelles qui correspondent à tous les critères (une relation logique AND).

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. Par exemple, vous pouvez filtrer par groupe de ressources, par nom, par libellé de ressource, par zone et par libellé de métrique. Après avoir sélectionné le critère de filtre, terminez le filtre en sélectionnant l'opérateur de comparaison et 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é des expressions régulières monitoring.regex.full_match("^us.*")
!=~ Inégalité d'expression régulière 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")

Transformer les données

Une fois les séries temporelles sélectionnées, l'étape suivante consiste à spécifier le mode de traitement de chaque série temporelle (également appelé alignement), et à combiner les séries temporelles alignées.

Le reste de cette page décrit brièvement ces options. Pour en savoir plus, consultez la section Manipulation de séries temporelles.

Aligner les séries temporelles

L'alignement consiste à convertir une série temporelle reçue par Monitoring en une nouvelle série temporelle avec des points de données espacés d'une durée fixe. Le processus d'alignement comprend les étapes suivantes:

  1. Division d'une série temporelle en un ensemble d'intervalles fixes.
  2. Collecter tous les points de données reçus dans chaque intervalle et appliquer une fonction permettant de les combiner Par exemple, vous pouvez sélectionner cette fonction pour calculer la moyenne de tous les échantillons.
  3. Associer un horodatage à la valeur calculée à l'étape précédente, puis ajouter la paire à la série temporelle alignée

Pour en savoir plus sur l'alignement, consultez la section Alignement: régularisation au sein de la série.

Lorsque vous créez une condition sur une règle d'alerte, vous devez spécifier les paramètres d'alignement. Si vous utilisez la console Google Cloud, les valeurs par défaut de ces paramètres sont fournies:

  • Fenêtre glissante : ce champ correspond à un intervalle d'analyse à partir d'un moment précis. Par exemple, si cette valeur est de cinq minutes, les échantillons reçus entre 12h55 et 13h doivent être alignés à 13h. À 13h01, les échantillons reçus entre 12h56 et 13h01 doivent être alignés. Dans le contexte des règles d'alerte, la période d'alignement peut être considérée comme une fenêtre glissante vers le passé. Pour en savoir plus sur ce champ, consultez la section Période d'alignement et durée.

  • Fonction de fenêtrage glissant: le champ spécifie la fonction utilisée pour combiner tous les points de données dans l'intervalle d'analyse. Dans l'API Cloud Monitoring, ce champ est appelé aligneur. Pour en savoir plus sur les fonctions disponibles, consultez la section Aligner dans la documentation de référence de l'API. Certaines fonctions d'aligneur alignent les données et les convertissent d'un genre ou d'un type de métrique à un autre. Pour en savoir plus, consultez la section Genres, types et conversions.

Combiner des séries temporelles

Vous pouvez réduire le volume de données renvoyées pour une métrique en combinant différentes séries temporelles. Pour combiner plusieurs séries temporelles, vous devez généralement spécifier un groupe et une fonction. Le regroupement est effectué en fonction des valeurs de libellés. La fonction définit la façon dont toutes les séries temporelles d'un groupe sont combinées en une nouvelle série temporelle.

Pour accéder aux options permettant de combiner des séries temporelles, cliquez sur Plus dans la section Sur plusieurs séries temporelles.

Pour combiner des séries temporelles par valeur de libellé, cliquez sur le texte Regrouper les séries temporelles par, puis effectuez une sélection dans le menu. Le menu est créé de manière dynamique en fonction de la série temporelle sélectionnée.

Lorsque vous ajoutez le premier libellé, voici ce qui se produit :

  • Une erreur s'affiche, car le champ Agrégation de séries temporelles est défini sur none. Pour résoudre l'erreur, sélectionnez une fonction permettant de combiner la série temporelle avec la même valeur d'étiquette.

  • Le graphique affiche une série temporelle pour chaque valeur de l'étiquette répertoriée dans le champ Regrouper les séries temporelles par.

Si vous ne spécifiez pas d'option de regroupement et que vous spécifiez une fonction d'agrégation, cette fonction est appliquée à la série temporelle sélectionnée et génère une seule série temporelle.

Vous pouvez effectuer un regroupement d'après plusieurs étiquettes. Lorsque vous disposez de plusieurs options de regroupement, l'agrégateur est appliqué à l'ensemble de séries temporelles ayant les mêmes valeurs pour les libellés sélectionnés.

Le graphique obtenu affiche une série temporelle pour chaque combinaison de valeurs de libellé. L'ordre dans lequel vous spécifiez les libellés n'a pas d'importance.

Par exemple, la capture d'écran suivante montre un regroupement par user_labels.version et system_labels.machine_image :

Affichage des séries temporelles regroupées par version et image de machine.

Comme illustré, si vous regroupez par libellé, vous obtenez une série temporelle pour chaque paire de valeurs. Le fait d'obtenir une série temporelle pour chaque combinaison de libellés implique que cette technique a facilement tendance à créer plus de données qu'il n'est utile d'en afficher sur un seul graphique.

Si vous spécifiez un regroupement ou si vous sélectionnez un agrégateur, la série temporelle représentée sur le graphique ne contient que les libellés requis, tels que l'identifiant du projet, et les libellés spécifiés par le regroupement.

Pour supprimer une condition de regroupement, procédez comme suit :

  1. Supprimez les libellés de regroupement.
  2. Définissez l'agrégateur sur none.

Agrégation secondaire

Si plusieurs séries temporelles sont affichées après la transformation de données principale et que vous souhaitez que la règle d'alerte surveille une seule série temporelle, utilisez les champs Transformation de données secondaire.

Comportement lorsque des données sont manquantes

Console Google Cloud

Vous pouvez configurer la manière dont Monitoring évalue une condition de seuil de métrique à l'arrivée des données. Par exemple, lorsqu'un incident est ouvert et qu'aucune mesure attendue n'arrive, ne souhaitez-vous pas que l'incident soit ouvert ou fermé immédiatement par Monitoring ? De même, lorsque les données cessent d'arriver et qu'aucun incident n'est ouvert, voulez-vous qu'un incident soit ouvert ? Enfin, combien de temps un incident doit-il rester ouvert après l'arrêt des données ?

Deux champs configurables spécifient comment Monitoring évalue les conditions de seuil de métrique lorsque les données ne arrivent plus:

  • Pour configurer la manière dont Monitoring détermine la valeur de remplacement des données manquantes, utilisez le champ Évaluation des données manquantes que vous avez défini à l'étape Déclencheur de condition. Ce champ est désactivé lorsque la période de test est définie sur Aucun nouveau test.

  • Pour configurer le délai d'attente de Monitoring avant de fermer un incident ouvert après l'arrivée des données, utilisez le champ Durée de la fermeture automatique de l'incident. Vous définissez la durée de fermeture automatique à l'étape Notification. Par défaut, la fermeture automatique est de sept jours.

Voici les différentes options pour le champ de données manquant:

Google Cloud Console
Champ "Évaluation des données manquantes"
Résumé Détails
Données manquantes Les incidents ouverts restent ouverts.
Aucun nouvel incident n'est ouvert.

Pour les conditions remplies, elles continuent d'être remplies 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 délai expire, l'incident est clos.

Les conditions qui ne sont pas remplies continuent de ne pas être remplies lorsque les données cessent d'arriver.

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, elles continuent d'être remplies 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 au bout de 24 heures après la fermeture automatique, 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 comme une metric-absence condition. Si les données n'arrivent pas dans le délai spécifié par l'intervalle de 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 des valeurs qui respectent la règle Les incidents ouverts sont fermés.
Aucun nouvel incident n'est ouvert.

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, il est fermé.

Les conditions qui ne sont pas remplies continuent de ne pas être remplies lorsque les données cessent d'arriver.

API

Vous pouvez configurer la manière dont Monitoring évalue une condition de seuil de métrique à l'arrivée des données. Par exemple, lorsqu'un incident est ouvert et qu'aucune mesure attendue n'arrive, ne souhaitez-vous pas que l'incident soit ouvert ou fermé immédiatement par Monitoring ? De même, lorsque les données cessent d'arriver et qu'aucun incident n'est ouvert, voulez-vous qu'un incident soit ouvert ? Enfin, combien de temps un incident doit-il rester ouvert après l'arrêt des données ?

Deux champs configurables spécifient comment Monitoring évalue les conditions de seuil de métrique lorsque les données ne arrivent plus:

  • Pour configurer la manière dont Monitoring détermine la valeur de remplacement des données manquantes, utilisez le champ evaluationMissingData de la structure MetricThreshold. Ce champ est ignoré lorsque la valeur du champ duration est nulle.

  • Pour configurer le délai d'attente de Monitoring avant la fermeture d'un incident ouvert après l'arrivée des données, utilisez le champ autoClose de la structure AlertStrategy.

Voici les différentes options pour le champ de données manquant:

Champ
evaluationMissingData de l'API
Résumé Détails
EVALUATION_MISSING_DATA_UNSPECIFIED Les incidents ouverts restent ouverts.
Aucun nouvel incident n'est ouvert.

Pour les conditions remplies, elles continuent d'être remplies 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 délai expire, l'incident est clos.

Les conditions qui ne sont pas remplies continuent de ne pas être remplies lorsque les données cessent d'arriver.

EVALUATION_MISSING_DATA_ACTIVE Les incidents ouverts restent ouverts.
Vous pouvez ouvrir de nouveaux incidents.

Pour les conditions remplies, elles continuent d'être remplies 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 au bout de 24 heures après la fermeture automatique, 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 comme une metric-absence condition. Si les données n'arrivent pas à l'heure spécifiée dans le champ "duration", 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.

EVALUATION_MISSING_DATA_INACTIVE Les incidents ouverts sont fermés.
Aucun nouvel incident n'est ouvert.

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, il est fermé.

Les conditions qui ne sont pas remplies continuent de ne pas être remplies lorsque les données cessent d'arriver.