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 pour être averti lorsque des 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.

Ce document utilise la terminologie utilisée par l'interface de la console, basée sur un menu. Toutefois, les informations conceptuelles s'appliquent à toutes les approches que vous pouvez utiliser pour créer une règle d'alerte. Pour plus d'informations sur l'utilisation de l'API Cloud Monitoring, consultez 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 devez spécifier 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 la 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 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 une métrique et une ressource pour surveiller le nombre de processus exécutés sur une machine virtuelle (VM). Dans ce type de situation, configurez la console pour ouvrir le mode Filtre 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 voulez 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 bascule 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:

  1. Dans la console, 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 des données et remplissez la boîte de dialogue de la règle d'alerte. Pour en savoir plus, consultez Créer des règles d'alerte basées sur les métriques.

Mode MQL

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

Pour utiliser MQL, procédez comme suit:

  1. Dans la console, 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 savoir comment utiliser MQL, consultez Utiliser le langage MQL (Monitoring Query Language).
  6. Remplissez la boîte de dialogue des règles d'alerte. Pour en savoir plus, consultez Gérer les règles d'alerte avec MQL.

Mode de filtrage direct

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

  • Surveiller des objectifs de niveau de service (SLO)
  • Configuration d'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 des VM
  • Vérification de la syntaxe d'une instruction de filtrage à inclure dans une commande API

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, 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 la règle d'alerte. Pour plus d'informations, consultez Créer une règle d'alerte d'état de processus.

Filtrer les données sélectionnées

Pour réduire la quantité de données surveillées, spécifiez des critères de filtre ou appliquez l'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, le nombre de séries temporelles à évaluer est réduit, ce qui peut améliorer les performances de l'alerte.

Lorsque vous indiquez plusieurs critères de filtrage, le graphique correspondant n'affiche que la série temporelle correspondant à tous les critères logiques : AND.

Pour ajouter un filtre, cliquez sur Ajouter un filtre, remplissez 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 à utiliser pour filtrer les données. 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, effectuez l'opération 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équation de l'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 Valeur non l'une des 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 doivent spécifier le mode de traitement de chaque série temporelle (également appelé alignement) et la combinaison des séries temporelles alignées.

Le reste de cette page décrit brièvement ces options. Pour obtenir des explications détaillées, consultez la section Manipulation de séries temporelles.

Aligner les séries temporelles

L'alignement est le processus permettant de 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. Répartition d'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 une discussion générale 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 Google Cloud Console, les valeurs par défaut de ces paramètres sont fournies:

  • Période glissante: ce champ correspond à un intervalle de référence à partir d'un moment précis. Par exemple, si cette valeur est de cinq minutes, les échantillons reçus entre 12h55 et 13h sont alignés à 13h. À 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 coulissante orientée vers le passé. Pour en savoir plus sur ce champ, consultez la section Période d'alignement et durée.

  • Fonction de fenêtre glissante: 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 de l'aligneur alignent les données et les convertissent d'un genre ou d'un type de métrique à un autre. Pour obtenir des explications détaillées, 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 Afficher plus dans la section Série temporelle.

Pour combiner des séries temporelles par valeur de libellé, cliquez sur le texte Regrouper les séries temporelles par, puis sélectionnez l'option souhaitée dans le menu. Le menu est construit 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 Time series agrégation (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 du libellé indiqué dans le champ Grouper la série temporelle par.

Si vous ne spécifiez pas d'option de regroupement et que vous spécifiez une fonction d'agrégation, celle-ci 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 libellés. 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 vous avez plusieurs séries temporelles affichées après la transformation de données principale et si vous souhaitez que la règle d'alerte surveille une seule série temporelle, utilisez les champs Transformation de données secondaires.

Comportement en l'absence de données

console

Vous pouvez configurer la manière dont Monitoring évalue une condition de seuil de métrique lorsque des données cessent d'arriver. Par exemple, lorsqu'un incident est ouvert et qu'une mesure attendue n'arrive pas, voulez-vous que Monitoring la laisse ouvert ou le ferme immédiatement ? 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'arrivée des données ?

Deux champs configurables permettent de spécifier comment Monitoring évalue les conditions des seuils de métriques lorsque les données cessent d'arriver:

  • Pour configurer la surveillance des valeurs manquantes par Monitoring, utilisez le champ Évaluation des données manquantes que vous avez défini à l'étape Condition déclencheur. Ce champ est désactivé lorsque la période de nouveau test est définie sur Aucun nouveau test.

  • Pour configurer le temps d'attente de Monitoring avant de fermer un incident en cours, 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.

Vous trouverez ci-dessous les différentes options disponibles pour le champ de données manquant:

console
"Évaluation données manquantes" champ
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 à ê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 fermé.

Pour les conditions qui ne sont pas remplies, la condition continue à être remplie lorsque les données cessent d'arriver.

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

Pour les conditions remplies, la condition continue à ê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 fermeture automatique plus 24 heures, l'incident est fermé.

Pour les conditions qui ne sont pas remplies, ce paramètre entraîne le comportement de la condition de seuil de métrique comme metric-absence condition. Si les données n'arrivent pas dans le délai spécifié par la période 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 n'enfreignent pas le règlement Les incidents ouverts sont fermés.
Les nouveaux incidents ne sont pas ouverts.

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

Pour les conditions qui ne sont pas remplies, la condition continue à être remplie lorsque les données cessent d'arriver.

API

Vous pouvez configurer la manière dont Monitoring évalue une condition de seuil de métrique lorsque des données cessent d'arriver. Par exemple, lorsqu'un incident est ouvert et qu'une mesure attendue n'arrive pas, voulez-vous que Monitoring la laisse ouvert ou le ferme immédiatement ? 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'arrivée des données ?

Deux champs configurables permettent de spécifier comment Monitoring évalue les conditions des seuils de métriques lorsque les données cessent d'arriver:

  • Pour configurer la surveillance de la valeur de remplacement des données manquantes par Monitoring, 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 de fermer un incident après l'arrivée des données, utilisez le champ autoClose dans la structure AlertStrategy.

Vous trouverez ci-dessous les différentes options disponibles pour le champ de données manquant:

Champ d'API
evaluationMissingData
Résumé Détails
EVALUATION_MISSING_DATA_UNSPECIFIED Les incidents ouverts restent ouverts.
Les nouveaux incidents ne sont pas ouverts.

Pour les conditions remplies, la condition continue à ê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 fermé.

Pour les conditions qui ne sont pas remplies, la condition continue à être remplie 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, la condition continue à ê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 fermeture automatique plus 24 heures, l'incident est fermé.

Pour les conditions qui ne sont pas remplies, ce paramètre entraîne le comportement de la condition de seuil de métrique comme metric-absence condition. Si les données n'arrivent pas dans le délai spécifié par 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.
Les nouveaux incidents ne sont pas ouverts.

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

Pour les conditions qui ne sont pas remplies, la condition continue à être remplie lorsque les données cessent d'arriver.