Composants du modèle de métrique

Le modèle de surveillance des données de Cloud Monitoring comprend trois concepts principaux :

  • Types de ressources surveillées
  • Types de métriques
  • Séries temporelles

Le document Modèle de métrique décrit ces Concepts de Cloud Monitoring en termes généraux. Si ces concepts sont nouveaux pour vous, lisez d'abord cette page.

La présente page décrit plus en détail les types de métriques, les ressources surveillées et les séries temporelles, ainsi que certains concepts associés. Ces concepts sont sous-jacents à toutes les métriques Monitoring.

Vous devez comprendre les informations de cette page si vous souhaitez effectuer l'une des suivantes:

Pour en savoir plus sur ces concepts et leur correspondance avec l'API Cloud Monitoring, consultez la section Structure des séries temporelles, en particulier si vous prévoient d'utiliser l'API Monitoring ou des métriques personnalisées.

Un mot sur les libellés

Les types de ressources surveillées et les types de métriques prennent en charge les libellés, ce qui permet de classer les données lors de l'analyse. Exemple :

  • Un type de ressource surveillée pour une machine virtuelle peut inclure des libellés correspondant à l'emplacement de la machine et à l'ID de projet associé à la machine. Lorsque des informations sur la ressource surveillée sont enregistrées, elles incluent les valeurs des libellés. Une ressource surveillée peut également comporter des métadonnées fournies par le système ou l'utilisateur des étiquettes, en plus des étiquettes définies pour le type de ressource surveillée.
  • Un type de métrique qui compte les requêtes API peut avoir des libellés pour enregistrer le nom de la méthode appelée et l'état de la requête.

L'utilisation des libellés est décrite plus en détail dans la section Libellés.

Types de ressources surveillées

Une ressource surveillée est une ressource à partir de laquelle les données de métrique sont capturées. Cloud Monitoring accepte environ 270 de ressources surveillées.

Les types de ressources surveillées incluent les tâches et les nœuds génériques, dans Google Kubernetes Engine, dans Bigtable, différentes ressources AWS, et bien d'autres encore.

Chaque type de ressource surveillée est officiellement décrit dans une structure de données appelée descripteur de ressources surveillées. Pour en savoir plus, consultez la page Descripteurs de ressources surveillées.

Chacun des types de ressources surveillées compatibles contient une entrée dans la liste des ressources surveillées. Les entrées de la liste sont créées à partir des descripteurs de ressources surveillées. Cette section décrit les informations capturées dans un descripteur de ressource surveillée et montre comment elles sont présentées dans la liste.

Exemple de type de ressources surveillées

L'image suivante montre l'entrée dans la liste pour dans un bucket Cloud Storage:

Entrée de la liste pour le bucket Cloud Storage.

Toutes les entrées de la liste incluent les informations suivantes :

  • Type : l'en-tête de l'entrée répertorie le type de ressource surveillée, gcs_bucket dans le cas présent.
  • Display name (Nom à afficher) : brève description de la ressource surveillée.
  • Description : description plus longue de la ressource surveillée.
  • Libellés : ensemble de dimensions permettant de classer les données. Pour plus d'informations, consultez la section Libellés.

Types de métriques

Un type de métrique décrit les mesures pouvant être collectées à partir d'une ressource surveillée. Un type de métrique inclut une description de ce qui est mesuré et comment les mesures sont interprétées. Cloud Monitoring accepte environ 6 500 types et vous permet de définir de nouveaux types.

Les types de métriques incluent le nombre d'appels d'API, les statistiques d'utilisation du disque, la consommation de l'espace de stockage, etc.

Chaque type de métrique est officiellement décrit dans une structure de données appelée descripteur de la métrique. Pour en savoir plus, consultez Descripteurs de métrique.

Chacun des types de métriques intégrés possède une entrée dans le Liste des métriques . Les entrées de ces tables sont créées à partir des descripteurs de métriques. Cette section décrit les informations capturées dans un type de métrique et montre comment elles sont présentées dans la documentation de référence.

Exemple de type de métriques

L'image suivante montre une entrée pour un type de métrique Cloud Storage:

Extrait de la liste des métriques pour Cloud Storage.

Les types de métriques sont affichés dans une table, dont l'en-tête explique la disposition des informations. Cette section utilise une entrée comme exemple, mais toutes les tables utilisent le même format.

L'exemple d'entrée de table Cloud Storage fournit les informations suivantes sur un type de métrique :

  • Metric type (Type de métrique) : identifiant du type de métrique, storage.googleapis.com/api/request_count dans le cas présent.

    Le préfixe storage.googleapis.com fait office d'espace de noms pour Cloud Storage. Tous les types de métriques associés à un type de ressource surveillée spécifique utilisent le même espace de noms.

    Les espaces de noms sont omis dans les entrées des tables.

    Tous les types de métriques associés à Cloud Storage sont répertoriés dans la table des métriques Cloud Storage.

  • Launch stage (Étape de lancement) : bloc de couleur indiquant l'étape de lancement du type de métrique à l'aide d'une valeur telle que "Alpha", "Beta" (Bêta) et "GA" (Disponibilité générale).

  • Display name (Nom à afficher) : brève chaîne décrivant le type de métrique, "Request count" (Nombre de requêtes) dans le cas présent.

  • Kind, Type, Unit (Genre, Type, Unité) : cette ligne fournit des informations permettant d'interpréter les valeurs des données. L'exemple montre une métrique delta enregistrée sous forme d'entier de 64 bits sans unité (valeur 1).

    • Genre : cet exemple est une métrique delta, qui enregistre une modification sur une période donnée. Autrement dit, chaque point de données enregistre le nombre d'appels d'API depuis l'écriture du point de données précédent. Pour plus d'informations sur les genres, consultez la section Types de valeurs et genres de métriques.

    • Type : cet exemple enregistre ses valeurs sous forme d'entiers de 64 bits. Pour en savoir plus sur les types, consultez la section Types de valeurs et genres de métriques.

    • Unit (Unité) : cette métrique n'a pas besoin d'une unité explicite, car elle représente un décompte. Le chiffre 1 est utilisé pour indiquer qu'aucune unité n'est nécessaire.

  • Ressources surveillées : ressources surveillées pour lesquelles ce type de métrique est disponible. Les valeurs indiquées ici sont les mêmes que celles décrites dans la section Types de ressources surveillées.

  • Description : informations plus détaillées ce qui est enregistré et selon quelle méthode. Indiquez-la en italique pour la distinguer des libellés.

  • Libellés : ensemble de dimensions permettant de classer les données. Pour plus d'informations, consultez la section Libellés.

Lorsque vous accédez aux données de surveillance via l'API Cloud Monitoring, vous incluez un projet Google Cloud dans l'appel d'API. Vous ne pouvez récupérer que les données visibles par le projet Google Cloud concerné. Par exemple, si vous demandez les données de votre projet pour le type de métrique storage.googleapis.com/api/request_count, vous ne voyez le nombre d'API que pour les buckets Cloud Storage de votre projet. Si votre projet n'utilise pas de buckets Cloud Storage, aucune donnée de métrique n'est renvoyée.

Types de métriques intégrées

Les types de métriques intégrées sont définis par les services Google Cloud, y compris Cloud Monitoring. Ces types de métriques décrivent des mesures standards pour large part de l'infrastructure commune et sont accessibles à tous.

La liste des métriques affiche l'ensemble des types de métriques intégrés. Les métriques listées sur la page Liste des métriques externes sont un sous-ensemble de métriques intégrées définies par Cloud Monitoring dans un partenariat avec des projets Open Source ou des fournisseurs tiers. Généralement, ces Les métriques sont précédées du préfixe external.googleapis.com.

Métriques personnalisées

Lorsque vous créez votre application, vous pouvez avoir souhaitez mesurer, pour lesquelles aucune métrique n'est intégrée Cloud Monitoring. Avec Cloud Monitoring, vous pouvez définir vos propres ou importer des types de métriques depuis des sources externes. Ces types de métriques sont appelées métriques personnalisées. Si une métrique comporte le préfixe custom.googleapis.com ou prometheus.googleapis.com, il s'agit d'une métrique personnalisée. Ces dernières métriques proviennent généralement de Google Cloud Managed Service pour Prometheus.

Par exemple, si vous souhaitez suivre le nombre de widgets vendus par vos magasins, vous devez utiliser une métrique personnalisée. Pour en savoir plus, consultez Présentation des métriques définies par l'utilisateur.

Étiquettes

Une étiquette est une paire clé-valeur qui peut être utilisée pour fournir des informations une valeur de données.

Étiquettes de métriques et de ressources surveillées

Les définitions des types de métriques et de ressources surveillées incluent des libellés. Les libellés sont des outils de classification des données collectées. Ils permettent de classer les données pour une analyse plus approfondie. Exemple :

  • Le type de métrique Cloud Storage storage.googleapis.com/api/request_count comporte deux libellés : response_code et method.
  • Le type de ressource surveillée Cloud Storage gcs_bucket comporte trois libellés : project_id, bucket_name et location. Les libellés identifient des instances spécifiques du type de ressource.

Par conséquent, toutes les données collectées pour les requêtes API d'un bucket Cloud Storage sont classées par la méthode appelée, le code de réponse de l'appel, ainsi que le nom, l'emplacement et le projet du bucket concerné. L'ensemble de libellés varie en fonction du type de métrique ou de ressource surveillée. Les libellés disponibles sont présentés dans les pages Liste des métriques et Liste des ressources surveillées.

En suivant le code de réponse, le nom de la méthode et l'emplacement lors du comptage des appels d'API, vous pouvez extraire le nombre d'appels à une méthode d'API spécifique, le nombre d'échecs d'appels à une méthode ou le nombre d'échecs d'appels à une méthode spécifique dans un emplacement spécifique.

Le nombre de libellés et le nombre de valeurs que chacun peut accepter est appelé cardinalité. La cardinalité correspond au nombre de séries temporelles pouvant être collectées pour une paire de type de métrique et de type de ressource surveillée : il existe une série temporelle pour chaque combinaison de valeurs de leurs libellés. Pour en savoir plus, consultez Cardinalité: séries temporelles et étiquettes.

Libellés de métadonnées de ressources

En plus des libellés définis sur les types de métriques et de ressources surveillées, Monitoring collecte en interne des informations supplémentaires sur les ressources surveillées et stocke ces informations dans les libellés de métadonnées système. Ces libellés de métadonnées système sont disponibles pour les utilisateurs sous forme de valeurs en lecture seule. Certaines ressources permettent également aux utilisateurs de créer leurs propres étiquettes de métadonnées de ressources lorsque vous configurez des ressources telles que des instances de VM dans la console Google Cloud.

Les libellés de métadonnées système et utilisateur sont collectivement appelés libellés de métadonnées de ressource. Vous pouvez utiliser ces libellés, tels que les libellés définis sur la métrique et les types de ressources surveillées dans les filtres de séries temporelles. Pour en savoir plus sur le filtrage, consultez la page Filtres de surveillance.

Séries temporelles : données d'une ressource surveillée

Cette section décrit les données de surveillance et leur organisation en séries temporelles. C'est là que les composants conceptuels du modèle de métrique deviennent des artefacts concrets.

Cloud Monitoring stocke des mesures régulières au fil du temps pour les paires de type de métrique et de type de ressource surveillée. Les mesures sont collectées en séries temporelles, et chaque série temporelle contient les éléments suivants :

  • Le nom du type de métrique auquel appartient la série temporelle, et une combinaison de valeurs pour les libellés de la métrique.

  • Une série de paires (horodatage, valeur). La valeur correspond à la mesure, et l'horodatage correspond à l'heure à laquelle la mesure a été effectuée.

  • La ressource surveillée qui est la source des données de séries temporelles, et une combinaison de valeurs pour les libellés de la ressource.

Une série temporelle est créée pour chaque combinaison d'étiquettes de métrique et de ressource qui génère des données.

Exemple stylisé: type de métrique storage.googleapis.com/api/request_count peut comporter de nombreuses séries temporelles Cloud Storage. L'illustration suivante montre des séries temporelles possibles.

Dans l'illustration, la valeur bucket: xxxx représente la valeur du libellé bucket_name dans le type de ressource surveillée, et response_code et method sont des libellés dans le type de métrique. Il existe une série temporelle pour chacune des combinaisons de valeurs dans les libellés de ressource et de métrique. L'illustration en montre quelques-unes :

Image montrant plusieurs séries temporelles dans une métrique

Cloud Monitoring n'enregistre pas les séries temporelles "vides". Dans Exemple de buckets Cloud Storage, si vous n'utilisez pas de bucket ou ne jamais appeler une méthode API particulière, aucune donnée n'est collectée pour cette et qu'aucune série temporelle ne la mentionne. Cela signifie que, si votre projet ne contient aucune donnée pour une métrique spécifique, le type de métrique ne s'affiche jamais.

Les types de métriques n'indiquent pas les types de ressources surveillées trouvés dans les séries temporelles des métriques. Pour Cloud Storage, il n'existe qu'un seul type de ressource surveillée : gcs_bucket. Certains types de métriques sont associés à plusieurs ressources surveillées.

Exemple réel: Si vous avez un projet Google Cloud, vous essayez le widget APIs Explorer, situé sur la page de référence du timeSeries.list dans l'API Monitoring.

  1. Ouvrez la page de référence timeSeries.list.

  2. Dans le volet intitulé Try this method (Essayer cette méthode), saisissez la commande suivante:

    • name (nom) : projects/PROJECT_ID. Remplacer PROJECT_ID par l'ID de votre projet Google Cloud.
    • filter : metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
    • interval.start_time: saisissez l'heure de début et assurez-vous qu'elle est 20 minutes avant l'heure de fin.
    • interval.end_time: saisissez l'heure de fin.

Si la requête aboutit, elle renvoie les données de séries temporelles qui correspondent à la requête. Cela ressemble à l'extrait suivant :

{
  "timeSeries": [
    {
      "metric": {
        "labels": {
          "severity": "INFO",
          "log": "compute.googleapis.com/activity_log"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "0",
          "zone": "us-central1",
          "project_id": "your-project-id"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
        "interval": {
            "startTime": "2024-03-29T13:53:00Z",
            "endTime": "2024-03-29T13:54:00Z"
          },
          "value": {
            "int64Value": "0"
          }
        },
        ...
      ]
    },
    ...
  ]
}

Pour plus d'informations sur l'utilisation du widget APIs Explorer, y compris consultez la page APIs Explorer.

Cardinalité : séries temporelles et libellés

Chaque série temporelle est associée à une paire spécifique de ressources surveillées. Types de métriques et de ressources surveillées chacun d'entre eux fournit un certain nombre d'étiquettes. Dans Cloud Monitoring, le nombre d'instances des combinaisons uniques de valeurs pour l'ensemble d'étiquettes correspond à la cardinalité le type de métrique ou de ressource surveillée. Ces valeurs sont appelées la cardinalité de la métrique et la cardinalité de la ressource, et déterminent le nombre les séries temporelles possibles, la cardinalité totale, peuvent être générées.

Métrique, ressource et cardinalité totale

Supposons que vous ayez un type de métrique qui spécifie deux étiquettes, color et zone. La cardinalité de la métrique dépend du nombre valeurs de ces étiquettes:

  • S’il n’y a que trois couleurs possibles, « rouge », "vert" et "bleu", l'étiquette color peut peuvent contenir jusqu'à trois valeurs distinctes.
  • S'il n'y a que deux zones possibles, "est" et "west", le libellé zone peut alors avoir jusqu'à deux valeurs distinctes.

La cardinalité de cette métrique est 6 (3 × 2). S'il y a 1 000 propositions des valeurs pour le libellé color, et si chaque couleur peut apparaître dans chaque zone, alors la cardinalité de la métrique est 2 000 (1 000 × 2). Le même calcul s'applique s'il s'agit d'étiquettes sur un type de ressource surveillée plutôt que sur un type de métrique.

Cette valeur de cardinalité est un maximum, basé sur le nombre de combinaisons de valeurs d'étiquettes possibles. La valeur réelle et réelle peut être significativement une valeur inférieure lorsque toutes les combinaisons de valeurs d'étiquette ne se produisent pas. Par exemple : si chaque couleur apparaît dans une seule zone, pas dans les deux zones, alors le nombre maximal de séries temporelles que vous voyez dans le système en cours d'exécution est de 1 000. Mais l'utilité d'une cardinalité efficace dépend des raisons que certaines combinaisons n'apparaissent pas et si elles pourraient l'être à l'avenir.

La cardinalité dépend des valeurs que les étiquettes peuvent avoir.

Lorsque des données de séries temporelles sont écrites, elles sont classées par métrique de ressources surveillées. Pour chaque paire de types de métriques et de ressources, cardinalité totale est le produit de la cardinalité de la métrique et de la ressource la cardinalité. Si vous avez une métrique avec une cardinalité de 1 000 et qu'une ressource avec une cardinalité de 100. Si toutes les valeurs d'étiquette s'affichent, vous obtenez 100 000 (1 000 × 100).

Lorsque vous concevez vos propres métriques, assurez-vous que l'ensemble des pour chaque libellé est contraint. Un petit ensemble de valeurs discrètes (comme le "rouge", le "vert" et le "bleu") l'approche privilégiée. Si, par exemple, vous utilisez des valeurs RVB 8 bits pour un le libellé color, vous pouvez en avoir plus de 16 millions valeurs. N'utilisez pas de valeurs haute résolution telles que des codes temporels, tout type d'identifiant unique, d'ID utilisateur, d'adresse IP, des URL, etc., pour les libellés de métriques.

Performances et cardinalité des requêtes

Lorsque vous lancez une requête de données, le volume de données que vous demandez est de facteur le plus important des performances des requêtes: une requête portant sur une heure de données est généralement plus rapide qu'une requête couvrant six mois. Mais le volume des données renvoyées par une requête est également sensible au nombre de séries temporelles dans une requête. Requête récupérant deux mois de données pour une cardinalité faible est probablement plus rapide qu'une autre requête récupérant deux mois des données pour une métrique à cardinalité très élevée, en raison du nombre de données récupérées.

La cardinalité dépend principalement du nombre de valeurs que les étiquettes peuvent avoir et non sur le nombre d'étiquettes. En général, vous ne contrôlez pas cardinalité des ressources, par exemple lorsque le nombre de pods ou de VM change en fonction des besoins de l'entreprise. Mais lors de l'ingestion de métriques dans Cloud Monitoring, Au lieu d'utiliser les métriques système, vous contrôlez souvent par rapport à la cardinalité de la métrique. Par exemple, avec les métriques personnalisées définies par l'utilisateur, vous déterminez les étiquettes et leurs valeurs possibles. Si vous utilisez ingérez des métriques Prometheus, vous pouvez utiliser le réétiquetage pour modifier l'ensemble d'étiquettes et de séries temporelles de suppression que vous ne voulez pas ingérer.

La page Gestion des métriques de Cloud Monitoring vous permet de : pour identifier les métriques pouvant présenter des problèmes de cardinalité. Pour afficher la page Gestion des métriques, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page  Gestion des métriques :

    Accédez à la page Gestion des métriques

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Surveillance.

  2. Dans la barre d'outils, sélectionnez votre période. Par défaut, la page Gestion des métriques affiche des informations sur les métriques collectées au cours du jour précédent.

Pour en savoir plus sur la page Gestion des métriques, consultez la section Afficher et gérer l'utilisation des métriques.

Pour obtenir des informations techniques sur la façon dont Cloud Monitoring stocke et des séries temporelles, reportez-vous à la page Monarch : base de données de séries temporelles en mémoire.

Pour en savoir plus sur les limites des métriques définies par l'utilisateur dans Cloud Monitoring, consultez la section Métriques définies par l'utilisateur.