Sélectionner et configurer des métriques

Ce document décrit les champs que vous définissez lorsque vous configurez 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 les données de séries temporelles, telles que l'utilisation du processeur d'une machine virtuelle, répondent à 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.

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 des valeurs pour une métrique et un type de ressource:

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

Monitoring propose un grand nombre de types de métriques prédéfinis et de ressources surveillées. Vous pouvez également créer des métriques personnalisées :

Cloud Monitoring actualise l'interface pour créer une règle d'alerte. Sélectionnez l'onglet correspondant à l'interface que vous utilisez.

Ancienne interface

Pour sélectionner une métrique, utilisez le champ Find resource type and metric (Trouver le type de ressource et la métrique) afin de choisir un type de ressource et un type de métrique. Vous pouvez les spécifier dans n'importe quel ordre. Pour commencer, cliquez dans le champ. Une ou deux listes s'affichent, selon les éléments précédemment sélectionnés. Ces listes sont identifiées par les en-têtes Resource types (Types de ressources) et Metrics (Métriques), comme dans cette capture d'écran :

Listes de recherche pour la sélection de métriques et de ressources.

Vous pouvez sélectionner une entrée de deux manières :

  • Sélectionnez cette entrée dans l'une des listes.

  • Saisissez un filtre Monitoring. Un filtre Monitoring est une expression utilisée par Monitoring pour identifier la série temporelle à surveiller. Le filtre Monitoring suivant montre le graphique affichant le nombre d'entrées de journal pour toutes les instances de machine virtuelle Google Cloud de la zone us-east1-b:

    metric.type="logging.googleapis.com/log_entry_count"
    resource.type="gce_instance" resource.label."zone"="us-east1-b"
    

    Pour saisir un filtre Monitoring, procédez comme suit :

    1. À côté de Find resource type and metric (Rechercher un type de ressource et une métrique), cliquez sur Aide .
    2. Cliquez sur Direct filter mode (Mode de filtrage direct) dans le panneau d'aide.

      Lorsque Direct filter mode (Mode de filtrage direct) est activé, l'option Find resource type and metric (Rechercher un type de ressource et une métrique) est remplacée par une zone de texte modifiable intitulée Resource type, metric, and filter (Type de ressource, métrique et filtre) :

      Le mode de filtrage direct s'affiche.

      Si vous aviez sélectionné un type de ressource, une métrique ou un filtre avant d'activer le Mode de filtrage direct, ces paramètres sont utilisés pour préremplir la zone de texte Resource type, metric, and filter (Type de ressource, métrique et filtre).

    3. Saisissez un filtre Monitoring dans la zone de texte Type de ressource, métrique et filtre. Votre filtre doit inclure un type de métrique et un type de ressource. Vous pouvez également inclure des filtres de libellés. Pour en savoir plus sur la syntaxe de filtrage, consultez la page Filtres de surveillance.

      Par exemple, pour afficher les entrées de journal correspondant à l'ensemble des instances de VM Google Cloud dans la zone us-east1-b, saisissez ce qui suit :

      metric.type="logging.googleapis.com/log_entry_count"
      resource.type="gce_instance" resource.label."zone"="us-east1-b"
      

      Si vous avez utilisé le mode de filtrage direct pour configurer des graphiques ou des règles d'alerte et qu'aucune donnée n'est disponible, le graphique affiche un message d'erreur. Le message d'erreur exact dépend du filtre que vous avez saisi. Par exemple, Chart definition invalid (Définition de graphique non valide) est un message courant. Le message No data is available for the selected time frame. (Aucune donnée disponible pour la fenêtre temporelle sélectionnée) peut également s'afficher.

En passant la souris sur l'une ou l'autre liste, vous obtenez une info-bulle affichant les informations contenues dans le descripteur de l'élément désigné. Pour en savoir plus sur les descripteurs des types de métriques ou des ressources surveillées, consultez la liste des métriques ou la liste des ressources surveillées.

Dès que vous avez sélectionné au moins une paire composée d'un type de ressource et d'une métrique, le graphique affiche toutes les séries temporelles disponibles, et des éléments supplémentaires apparaissent sous la métrique spécifiée dans l'onglet Metric (Métrique). La capture d'écran suivante montre l'onglet Metric (Métrique) après qu'une métrique a été spécifiée :

Affichage d'options de sélection supplémentaires.

Interface bêta

Pour configurer la condition d'une règle d'alerte, vous pouvez utiliser l'API Cloud Monitoring ou Google Cloud Console. Si vous choisissez d'utiliser Cloud Console, indiquez comment spécifier la série temporelle à surveiller:

  • Mode de base

    Utilisez le mode de base lorsque vous souhaitez configurer une condition qui surveille une métrique pour une ressource spécifique et que vous ne souhaitez pas utiliser MQL. Par défaut, les menus n'affichent que les statistiques pour lesquelles des données ont été reçues. Un bouton d'activation vous permet de répertorier toutes les métriques Google Cloud.

    Après avoir sélectionné la ressource et la métrique, l'étape suivante consiste à spécifier les filtres.

  • Mode MQL

    Utilisez le mode MQL lorsque vous souhaitez utiliser la syntaxe MQL pour décrire la condition ou pour surveiller un ratio de métriques.

    Pour en savoir plus sur l'utilisation de MQL, consultez la page Utiliser le langage de requête Monitoring.

    L'étape suivante consiste à configurer le déclencheur de condition.

  • Mode de filtrage direct

    Vous pouvez utiliser le mode de filtrage direct dans les cas suivants:

    • 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.
    • Surveiller le nombre de processus exécutés sur les machines virtuelles (VM).
    • Vérifier la syntaxe d'une instruction de filtre à inclure dans une commande d'API

    Lorsque vous utilisez le mode de filtrage direct, pour sélectionner la série temporelle que vous saisissez, saisissez un filtre Monitoring. Par exemple, le filtre Monitoring suivant dans le graphique affichant 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 en savoir plus sur la syntaxe, consultez les documents suivants:

    Après avoir spécifié un filtre Monitoring, l'étape suivante consiste à spécifier les options de transformation des données.

Le reste de cette page utilise la terminologie utilisée par l'interface basée sur les menus de Cloud Console. Cependant, les informations conceptuelles s'appliquent à toutes les approches que vous pouvez utiliser pour créer une règle d'alerte.

Filtrer les données sélectionnées

Ancienne interface

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. Si vous appliquez des filtres, le nombre de séries temporelles à évaluer sera réduit, ce qui permettra d'améliorer les performances de l'alerte.

Si vous fournissez plusieurs critères de filtrage, le graphique correspondant ne montre que les séries temporelles qui correspondent à tous les critères (opérateur logique AND).

Dans Google Cloud Console, cliquez sur le champ Filtre pour ajouter un filtre. Un panneau contenant des listes de critères de filtrage s'affiche. Par exemple, vous pouvez filtrer par groupe de ressources, par nom, par libellé de ressource, par zone et par libellé de métrique.

La capture d'écran suivante montre les libellés de filtrage connus d'une métrique spécifique :

Listes de libellés de filtrage préremplis.

Vous pouvez choisir parmi les listes ou saisir une chaîne pour trouver des correspondances. En outre, vous pouvez créer des filtres correspondant à des données qui ne sont pas encore apparues. De tels critères de filtrage n'apparaîtront pas dans la liste de sélection, mais vous pouvez spécifier manuellement des filtres dont vous savez qu'ils seront valides à l'avenir.

Après avoir choisi le libellé sur lequel filtrer, vous devez spécifier les autres composantes du filtre : une valeur ou une plage de valeurs, et un opérateur de comparaison.

Par exemple, la capture d'écran suivante présente un filtre configuré sur le libellé de ressource zone. Le champ Filter (Filtre) accepte une paire d'opérateurs de comparaison pour l'égalité, = et =~, ainsi qu'une paire pour l'inégalité, != et !=~. Le deuxième élément de chaque paire prend une expression régulière en tant que valeur. L'égalité simple = est la valeur par défaut.

Liste des comparateurs de filtres.

En dessous de la liste des opérateurs de comparaison se trouve une liste des valeurs disponibles. La capture d'écran suivante montre les noms des zones du projet :

Exemple de valeurs de filtres préremplies.

Pour le champ Value (Valeur), vous pouvez sélectionner l'un des éléments de la liste déroulante ou saisir une expression qui correspond à plusieurs éléments :

  • Si vous utilisez une comparaison directe = ou !=, vous pouvez créer une chaîne de filtre telle que starts_with (commence par). Par exemple, la chaîne de filtre starts_with("us-central") correspond à n'importe quelle zone us-central :

    Exemple d'utilisation d'une chaîne de filtre.

    Consultez la section Surveiller les filtres pour en savoir plus sur les chaînes de filtres.

  • Si vous sélectionnez =~ ou !=~, saisissez une expression régulière RE2 comme valeur. Par exemple, l'expression régulière us-central1-.* correspond à n'importe quelle zone us-central1 :

    Exemple de filtre avec des expressions régulières.

    L'expression régulière ^us.*.a$ correspond à n'importe quelle zone des États-Unis se terminant par "a" :

    Exemple de filtrage de zones à l'aide d'expressions régulières.

Vous pouvez spécifier plusieurs critères de filtre et utiliser le même libellé plusieurs fois. Cela vous permet de spécifier un filtre pour une plage de valeurs. Pour ajouter des filtres, cliquez sur Add a filter (Ajouter un filtre) au bas du champ de filtre. Actuellement, tous les critères de filtre doivent être remplis. elles constituent une valeur logique AND. Par exemple, vous pouvez utiliser les chaînes de filtre starts_with et ends_with pour afficher seulement les zones se terminant par "a" aux États-Unis :

Exemple utilisant plusieurs filtres.

Avec un filtre zone="starts_with("asia-east1")" ou zone=~"asia-east1.*", le graphique n'affiche que la série temporelle comportant les données de l'une des zones asia-east1 :

Affichage d'une série temporelle filtrée.

Interface bêta

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. Si vous appliquez des filtres, le nombre de séries temporelles à évaluer sera réduit, ce qui permettra d'améliorer les performances de l'alerte.

Si vous fournissez plusieurs critères de filtrage, le graphique correspondant ne montre que les séries temporelles qui correspondent à tous les critères (opérateur logique AND).

Pour ajouter un filtre, cliquez sur Add filter (Ajouter un filtre), renseignez la boîte de dialogue, puis cliquez sur Terminé. 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, puis complété 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"
=~ Expression régulière 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 ne correspond pas à resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

Transformer les données

Une fois les séries temporelles sélectionnées, les étapes suivantes permettent de spécifier le mode de traitement de chaque série temporelle (également appelé "alignement") et de combiner les séries temporelles alignées. Si vous utilisez l'ancienne interface ou l'API Cloud Monitoring, vous devez utiliser les champs d'agrégation pour spécifier la façon dont les séries temporelles sont transformées.

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

Aligner les séries temporelles

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

  1. Diviser une série temporelle en un ensemble d'intervalles de longueur fixe.
  2. Collecter tous les points de données reçus dans chaque intervalle et appliquer une fonction pour combiner ces points de données. 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 d'une série.

Ancienne interface

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

  • Period (période) : la période correspond à un intervalle d'analyse à partir d'un moment précis. Par exemple, si la période est de cinq minutes, à 13:00, les échantillons reçus entre 12:55 et 13:00 doivent être alignés. À 13:01, les échantillons reçus entre 12:56 et 13:01 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 qui s'étend vers le passé. Pour en savoir plus sur ce champ, consultez la section Période d'alignement et durée.

    Pour afficher les autres options d'agrégation, cliquez sur Afficher les options avancées.

  • Aligner (Aligneur) : ce champ spécifie la fonction utilisée pour combiner tous les points de données d'une période d'alignement. Pour en savoir plus sur les aligneurs disponibles, consultez la section Aligner dans la documentation de référence de l'API. Certains aligneurs se chargent à la fois d'aligner les données et de les convertir d'un genre ou d'un type de métrique à un autre. Pour obtenir une explication détaillée, consultez la section Genres, types et conversions.

Interface bêta

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

  • Période 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. À 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 représentée par une fenêtre glissante tournée vers le passé. Pour en savoir plus sur ce champ, consultez la section Période d'alignement et durée.

  • Fonction de roulement de la fenêtre: 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 plus d'informations, 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 combine toutes les données de séries temporelles d'un groupe en une nouvelle série temporelle.

Ancienne interface

Pour ajouter un regroupement, cliquez sur le texte dans la zone de texte Group by (Grouper par), puis effectuez la sélection dans le menu. Le menu est créé de manière dynamique en fonction des données de séries temporelles de la ressource et de la métrique sélectionnées. Le regroupement et le filtrage utilisent le même ensemble de libellés.

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

  • Un agrégateur est sélectionné. Le type de données affichées détermine l'agrégateur par défaut. Vous pouvez toutefois modifier cette fonction.
  • L'agrégateur combine les séries temporelles qui possèdent la même valeur de libellé en une seule série temporelle.
  • Le graphique affiche une série temporelle pour chaque valeur du libellé répertorié dans la zone de texte Group by (Grouper par).

Si vous effectuez un regroupement d'après plusieurs libellés, l'agrégateur combine les séries temporelles qui possèdent la même valeur pour les libellés spécifiés.

Si vous ne définissez pas d'option de regroupement mais que vous spécifiez un agrégateur, la fonction s'applique à toutes les séries temporelles sélectionnées et génère une seule série temporelle.

La capture d'écran suivante montre un regroupement par user_labels.version avec l'agrégateur défini sur la valeur par défaut sum :

Exemple de paramètre de regroupement.

Cette sélection génère une série temporelle pour chaque valeur du libellé user_labels.version. Les points de données de chaque série temporelle sont calculés à partir de la somme de toutes les valeurs de chaque série temporelle pour une version spécifique :

Affichage des séries temporelles regroupées par user_labels.version

Interface bêta

Pour accéder aux options permettant de combiner les séries temporelles, cliquez sur Plus dans la section Dans une série temporelle.

Pour combiner des séries temporelles par valeur de libellé, cliquez sur le texte Grouper les séries temporelles par et sélectionnez-en une dans le menu. Le menu est créé de manière dynamique en fonction de la série temporelle que vous avez 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 aucun. Pour résoudre l'erreur, sélectionnez une fonction utilisée pour combiner les séries temporelles avec la même valeur de libellé.

  • Le graphique affiche une série temporelle pour chaque valeur du libellé répertorié dans le champ Série temporelle 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

Ancienne interface

Si vous utilisez plusieurs séries temporelles qui représentent déjà des agrégations, vous pouvez réduire toutes les séries temporelles du graphique à une série unique en choisissant un agrégateur secondaire. Par exemple, si vous regroupez des données par zone, votre graphique affiche une série temporelle pour chaque zone. Pour créer un graphique avec une seule série temporelle, utilisez les champs d'agrégation secondaires.

Interface bêta

Si vous avez affiché plusieurs séries temporelles 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 la transformation de données secondaires.