Présentation de Cloud Monitoring

Ce document présente les services proposés par Cloud Monitoring. Ces services peuvent vous aider à comprendre le comportement, l'état et les performances de vos applications et d'autres services Google Cloud. Cloud Monitoring collecte et stocke automatiquement les informations sur les performances pour la plupart des services Google Cloud. Vous pouvez collecter des métriques Prometheus à l'aide de Google Cloud Managed Service pour Prometheus. Si vous installez l'agent Ops sur vos machines virtuelles (VM) Compute Engine, vous pouvez collecter des métriques et des journaux à partir de vos applications et d'applications tierces.

Les services d'alerte, de test et de visualisation fournis par Cloud Monitoring vous aident à répondre à des questions importantes, par exemple:

  • Quelle est la charge sur mon service ?
  • Mon site Web répond-il correctement ?
  • Mon service est-il performant ?

Cloud Monitoring est compatible avec la console et l'API Google Cloud pour la plupart de ses services. Certains services sont également compatibles avec la Google Cloud CLI ou Terraform. Les pages de référence de l'API Cloud Monitoring, telles que alertPolicies.list, vous permettent de tester les appels d'API directement à partir de la page de référence.

Services Cloud Monitoring

Cloud Monitoring fournit différents services que vous pouvez utiliser pour comprendre l'état et les performances de vos applications, ainsi que des autres services Google Cloud que vous utilisez.

Alertes et notifications

Pour être averti lorsque la valeur d'une métrique de performances répond aux critères que vous définissez, créez une règle d'alerte. La règle d'alerte inclut la liste des personnes ou des groupes qui doivent recevoir des notifications. Monitoring est compatible avec les canaux de notification courants, y compris les e-mails, Cloud Mobile App et des services tels que PagerDuty ou Slack. Par exemple, vous pouvez créer une règle d'alerte pour être averti lorsque l'utilisation du processeur d'une VM dépasse 80%.

Chaque notification inclut des informations pertinentes sur une défaillance et un lien vers un incident. Un incident est un enregistrement persistant qui stocke des informations que vous pouvez utiliser pour résoudre l'échec. En règle générale, un enregistrement indique l'état de l'incident, des liens vers les journaux, un graphique des données de métrique enregistrées, des libellés et la durée.

Le service d'alerte est intégré à de nombreux services Google Cloud. Lorsque ces intégrations existent, un panneau peut s'afficher pour lister les alertes recommandées, ou un bouton sur un graphique peut vous permettre de créer une règle d'alerte. Dans les deux cas, les règles d'alerte sont préconfigurées. Vous n'avez qu'à spécifier la liste des personnes ou des groupes à avertir.

Vous pouvez créer et gérer des règles d'alerte à l'aide de la console Google Cloud, de l'API Cloud Monitoring, de Google Cloud CLI ou de Terraform.

Surveillance et validation proactives

Pour tester la disponibilité, la cohérence et les performances de vos services, applications, pages Web et API, créez des moniteurs synthétiques. Par exemple, vous pouvez tester la réactivité des points de terminaison HTTP, HTTPS et TCP à l'aide de tests de disponibilité, puis recevoir une notification lorsqu'un point de terminaison ne répond pas. Vous pouvez également créer un outil de vérification des liens brisés pour explorer une page Web, puis vous en avertir lorsqu'il détecte des liens brisés.

Vous pouvez créer et gérer des moniteurs synthétiques à l'aide de la console Google Cloud, de l'API Cloud Monitoring, de Google Cloud CLI ou de Terraform.

Visualisation des données

Pour visualiser vos données afin d'identifier les tendances, les anomalies et d'afficher d'autres informations à leur sujet, vous pouvez utiliser les services de tableau de bord et de création de graphiques:

  • Le service de tableau de bord crée automatiquement un tableau de bord géré par Google Cloud lorsque vous ajoutez une ressource à votre projet Google Cloud. Par exemple, un tableau de bord est créé lorsque vous créez une instance Compute Engine, une règle d'alerte ou un moniteur synthétique. Vous pouvez utiliser ces tableaux de bord pour afficher des informations sur les performances et la configuration, telles que l'utilisation du disque ou l'adresse IP, et pour afficher les événements.

    Pour contrôler les données que vous affichez et le format d'affichage de ces données, créez un tableau de bord personnalisé. Par exemple, vous pouvez importer un tableau de bord Grafana ou installer un tableau de bord à partir d'un modèle. Vos tableaux de bord personnalisés peuvent afficher des graphiques, des tableaux, des journaux et des groupes d'erreurs, des règles d'alerte et des incidents, ainsi que du texte. Vous pouvez également partager des tableaux de bord personnalisés avec des personnes ou des groupes de votre organisation, et configurer ces tableaux de bord pour afficher des événements.

    Vous pouvez créer et gérer des tableaux de bord à l'aide de la console Google Cloud ou de l'API.

  • Le service de création de graphiques, l'explorateur de métriques, vous permet de visualiser et d'explorer rapidement des données de séries temporelles. Les paramètres de graphique vous permettent de comparer des données actuelles à des données précédentes, d'afficher des valeurs aberrantes et des percentiles, et d'afficher plusieurs métriques. Vous pouvez également enregistrer des graphiques dans un tableau de bord personnalisé.

Collecte et stockage des données

Cloud Monitoring collecte et stocke les types de données de métriques suivants:

  • Métriques du système et des applications collectées par l'agent Ops sur les ressources système et les applications exécutées sur les instances Compute Engine. Vous pouvez configurer l'agent Ops pour collecter des métriques de plug-ins tiers tels que des serveurs Web Apache ou Nginx, ou des bases de données MongoDB ou PostgreSQL.
  • Les métriques basées sur les journaux qui enregistrent des informations numériques sur les journaux écrits dans Cloud Logging. Les métriques basées sur les journaux définies par Google incluent le nombre d'erreurs détectées par votre service et le nombre total d'entrées de journal reçues par votre projet Google Cloud. Vous pouvez également définir des métriques basées sur les journaux.

Langages de requête

Lorsque vous créez une règle d'alerte ou un graphique, vous devez fournir une requête qui décrit les données que vous souhaitez surveiller ou représenter graphiquement:

  • Console Google Cloud: vous pouvez créer votre requête en effectuant des sélections dans des menus ou en écrivant une requête. Des éditeurs de requêtes sont disponibles pour le langage de requête Prometheus (PromQL) et le langage de requête de surveillance (MQL). Les éditeurs de requêtes fournissent des vérifications et des suggestions de syntaxe. Vous pouvez également écrire une expression de filtre de surveillance.

  • API Cloud Monitoring: l'API est compatible avec le langage de requête Prometheus (PromQL), les requêtes MQL et les expressions de filtre de surveillance.

Surveiller des systèmes volumineux

Cette section explique comment gérer des ressources en tant que collection et comment surveiller les métriques stockées dans plusieurs projets Google Cloud.

Gérer les ressources en tant que collection

Pour gérer vos ressources en tant que collection plutôt que individuellement, créez un groupe de ressources. Un groupe de ressources est une collection dynamique de ressources qui répond à certains critères que vous fournissez. Lorsque vous ajoutez et supprimez des ressources, par exemple en ajoutant des instances de VM Compute Engine à votre projet Google Cloud, l'appartenance au groupe change automatiquement. Voici des exemples de groupes de ressources:

  • Instances Compute Engine dont le nom commence par la chaîne prod-.
  • Ressources comportant le tag test-cluster.
  • Instances Amazon EC2 dans la région A ou la région B.

Après avoir défini un groupe de ressources, vous pouvez le surveiller comme s'il s'agissait d'une seule ressource. Par exemple, vous pouvez configurer un test de disponibilité pour surveiller un groupe de ressources. Pour les graphiques et les règles d'alerte, vous pouvez également filtrer par nom de groupe.

Pour en savoir plus, consultez la section Configurer des groupes de ressources.

Surveiller les métriques de plusieurs projets Google Cloud

Pour afficher et surveiller les données de séries temporelles de plusieurs projets Google Cloud et comptes AWS via une seule interface, configurez un champ d'application des métriques multiprojet.

Par défaut, les pages Cloud Monitoring de Google Cloud Console ne permettent d'accéder qu'aux séries temporelles stockées dans le projet de champ d'application. Le projet de champ d'application est le projet que vous avez sélectionné à l'aide de l'outil de sélection de projets de la console Google Cloud. Le projet de champ d'application stocke les alertes, les moniteurs synthétiques, les tableaux de bord et les groupes de surveillance que vous configurez.

Le projet de champ d'application héberge également un champ d'application des métriques. Le champ d'application des métriques définit les projets et les comptes dont les métriques sont visibles par le projet de champ d'application. Vous pouvez configurer le champ d'application des métriques pour inclure des données de séries temporelles provenant d'autres projets Google Cloud et de comptes AWS. Pour en savoir plus sur la modification d'un champ d'application des métriques, consultez la section Configurer un champ d'application des métriques pour plusieurs projets.

Modèle de données Cloud Monitoring

Cette section présente le modèle de données Cloud Monitoring :

  • Un type de métrique décrit un élément mesuré. L'utilisation du processeur d'une VM et le pourcentage d'un disque utilisé sont des exemples de types de métriques.

  • Une série temporelle est une structure de données qui contient les mesures horodatées d'une métrique ainsi que des informations sur la source et la signification de ces mesures.

Voici quelques détails sur le contenu d'une série temporelle:

  • Le tableau points contient les mesures horodatées.

    Voici un exemple de tableau points avec deux valeurs:

      "points": [
        {
          "interval": {
            "startTime": "2020-07-27T20:20:21.597143Z",
            "endTime": "2020-07-27T20:20:21.597143Z"
          },
          "value": {
            "doubleValue": 0.473005
          }
        },
        {
          "interval": {
            "startTime": "2020-07-27T20:19:21.597239Z",
            "endTime": "2020-07-27T20:19:21.597239Z"
          },
          "value": {
            "doubleValue": 0.473025
          }
        },
      ],
    

    Pour comprendre la signification d'une valeur, vous devez vous référer aux autres données incluses dans la série temporelle et aux définitions de ces données.

  • Le champ resource décrit le composant matériel ou logiciel surveillé. Dans Cloud Monitoring, le composant matériel ou logiciel est appelé ressource surveillée. Les instances Compute Engine et les applications App Engine sont des exemples de ressources surveillées. Pour obtenir la liste des ressources surveillées, consultez la liste des ressources surveillées.

    Voici un exemple de champ resource:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • Le champ type présente la ressource surveillée en tant que gce_instance, ce qui indique que ces mesures sont effectuées sur une instance de VM Compute Engine.

    • Le sous-champ labels contient des paires clé/valeur qui fournissent des informations supplémentaires sur la ressource surveillée. Pour un type gce_instance, les libellés identifient l'instance de VM surveillée.

  • Le champ metric décrit l'élément qui est mesuré.

    Voici un exemple de champ metric:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • Pour les services Google Cloud, le champ type spécifie le service et les éléments surveillés. Dans cet exemple, le service Compute Engine mesure l'utilisation du processeur. Lorsque le champ type commence par custom ou external, la métrique est soit une métrique personnalisée, soit une métrique définie par un tiers.
    • Le champ labels contient des paires clé/valeur qui fournissent des informations supplémentaires sur la mesure. Ces libellés sont définis dans le MetricDescriptor, qui est une structure de données qui définit les attributs des données mesurées. L'élément MetricDescriptor de la métrique compute.googleapis.com/instance/cpu/utilization inclut le libellé instance_name.
  • Le champ metricKind décrit la relation entre les mesures adjacentes au sein d'une série temporelle:

    • Les métriques GAUGE stockent la valeur de l'élément mesuré à un moment donné, par exemple un enregistrement de température horaire.

    • Les métriques CUMULATIVE stockent la valeur accumulée de l'élément mesuré à un moment donné, par exemple un kilométrage dans un véhicule.

    • Les métriques DELTA stockent le changement dans la valeur de l'élément mesuré sur une période spécifiée, par exemple un résumé des actions qui montre les gains ou les pertes de l'action.

  • Le champ valueType décrit le type de données pour la mesure: INT64, DOUBLE, BOOL, STRING ou DISTRIBUTION

Cloud Monitoring écrit une série temporelle pour chaque combinaison de valeurs de libellés de métriques et de ressources. Vous pouvez utiliser ces libellés pour regrouper et filtrer des séries temporelles. Par exemple, lorsqu'un projet Google Cloud contient plusieurs instances de VM Compute Engine, l'utilisation du processeur pour chaque instance de VM est une série temporelle unique. Voici différentes manières d'afficher ces données :

  • Vous pouvez afficher l'utilisation du processeur de chaque instance de VM.
  • Vous pouvez afficher l'utilisation du processeur pour une instance de VM spécifique en filtrant les séries temporelles pour une seule valeur du libellé instance_id.
  • Vous pouvez regrouper les instances de VM selon le libellé machine_type, puis afficher l'utilisation moyenne du processeur. La capture d'écran suivante illustre un graphique avec cette configuration:

    Utilisation moyenne du processeur regroupée par type de machine.

Tarifs

En général, les métriques système Cloud Monitoring sont gratuites, contrairement aux métriques provenant de systèmes, d'agents ou d'applications externes. Les métriques facturables sont facturées en fonction du nombre d'octets ou du nombre d'échantillons ingérés.

Pour en savoir plus sur la tarification de Cloud Monitoring, consultez les documents suivants:

Étape suivante