Ce document présente les services fournis par Cloud Monitoring. Ces services peuvent vous aider à comprendre le comportement, l'état et les performances de vos applications et des autres services Google Cloud. Cloud Monitoring collecte et stocke automatiquement les informations sur les performances de la plupart des services Google Cloud. Vous pouvez collecter les 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, telles que les suivantes:
- 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 Google Cloud et les API pour la plupart de ses services. Certains services sont également compatibles avec Google Cloud CLI ou Terraform. Les pages de référence de l'API Cloud Monitoring, comme la page alertPolicies.list
, vous permettent de tester les appels d'API directement à partir de cette page.
Services Cloud Monitoring
Cloud Monitoring propose différents services qui vous permettent de comprendre l'état et les performances de vos applications et des autres services Google Cloud que vous utilisez.
Alertes et notifications
Pour recevoir une notification lorsque la valeur d'une métrique de performances répond aux critères que vous avez définis, 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, comme 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 la défaillance. 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étriques enregistrées, les étiquettes et la durée.
Le service d'alerte est intégré à de nombreux services Google Cloud. Lorsque ces intégrations existent, un panneau listant les alertes recommandées peut s'afficher, ou un bouton vous permettant de créer une règle d'alerte peut s'afficher sur un graphique. Dans les deux cas, les règles d'alerte sont préconfigurées. Vous ne spécifiez que la liste des personnes ou des groupes à notifier.
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 vérifier la réactivité des points de terminaison HTTP, HTTPS et TCP à l'aide de tests de disponibilité, puis être averti lorsqu'un point de terminaison ne répond pas. Vous pouvez également créer un vérificateur de liens non fonctionnels pour explorer une page Web, puis être averti lorsque des liens non fonctionnels sont détectés.
Vous pouvez créer et gérer des surveillances 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 des tendances, d'identifier les anomalies et d'afficher d'autres détails sur vos données, vous pouvez utiliser les services de tableau de bord et 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 une surveillance synthétique. Vous pouvez utiliser ces tableaux de bord pour afficher des informations de performances et de configuration, telles que l'utilisation du disque ou l'adresse IP, et pour afficher les événements.
Pour contrôler les données affichées 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, 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 graphiques, Explorateur de métriques, vous permet de visualiser et d'explorer rapidement les données de séries temporelles. Les paramètres du graphique vous permettent de comparer les données actuelles aux données précédentes, d'afficher les anomalies et les centiles, et d'afficher plusieurs métriques. Vous pouvez également enregistrer des graphiques dans un tableau de bord personnalisé.
Collecte et stockage de données
Cloud Monitoring collecte et stocke les types de données de métriques suivants:
- Métriques système générées par les services Google Cloud. Ces métriques fournissent des informations sur le fonctionnement d'un service.
- Les métriques du système et des applications que l'agent Ops collecte sur les ressources système et les applications s'exécutant sur des instances Compute Engine. Vous pouvez configurer l'agent Ops pour collecter des métriques à partir de plug-ins tiers, tels que des serveurs Web Apache ou Nginx, ou des bases de données MongoDB ou PostgreSQL.
Des métriques définies par l'utilisateur, créées à l'aide de l'API Cloud Monitoring ou d'une bibliothèque telle que OpenTelemetry.
Les métriques externes sont définies par certaines bibliothèques Open Source ou certains fournisseurs tiers.
Métriques Prometheus collectées par Google Cloud Managed Service pour Prometheus, ou à l'aide de l'agent Ops et du récepteur Prometheus ou du récepteur OTLP.
- 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 décrivant les données que vous souhaitez surveiller ou représenter sous forme de graphique:
Console Google Cloud: vous pouvez créer votre requête en effectuant des sélections dans les menus ou en écrivant une requête. Les éditeurs de requêtes sont disponibles pour le langage de requête Prometheus (PromQL) et le langage de requête Monitoring (MQL). Les éditeurs de requête fournissent des vérifications de la syntaxe et des suggestions. Vous pouvez également écrire une expression de filtre Monitoring.
API Cloud Monitoring: elle est compatible avec le langage de requête Prometheus (PromQL), les requêtes MQL et les expressions de filtre Monitoring.
Surveiller les grands systèmes
Cette section explique comment gérer des ressources en tant que collection et 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 un ensemble dynamique de ressources qui répondent à certains des critères que vous fournissez. Lorsque vous ajoutez ou 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 la console Google Cloud n'accèdent qu'aux séries temporelles stockées dans le projet effectuant une surveillance. Le projet effectuant une surveillance est celui que vous avez sélectionné à l'aide du sélecteur de projet de la console Google Cloud. Le projet effectuant une surveillance stocke les alertes, les surveillances 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 quegce_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 typegce_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, 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 champtype
commence parcustom
ouexternal
, la métrique est une métrique personnalisée ou 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 leMetricDescriptor
, qui est une structure de données qui définit les attributs des données mesurées. LeMetricDescriptor
de la métriquecompute.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
ouDISTRIBUTION
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 correspond à 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 la série temporelle sur une seule valeur de l'étiquette
instance_id
. Vous pouvez regrouper les instances de VM par étiquette
machine_type
, puis afficher l'utilisation moyenne du processeur. La capture d'écran suivante illustre un graphique avec cette configuration:
Tarification
En général, les métriques système de Cloud Monitoring sont gratuites, contrairement aux métriques des systèmes, agents ou 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 les tarifs de Cloud Monitoring, consultez les documents suivants:
Étapes suivantes
- Pour explorer Cloud Monitoring, essayez le guide de démarrage rapide pour surveiller une instance Compute Engine.
- Pour savoir comment configurer notre projet Google Cloud afin d'afficher les métriques de plusieurs projets Google Cloud et comptes AWS, consultez la page Présentation des champs d'application des métriques.
Pour en savoir plus sur le modèle de données Cloud Monitoring, consultez la page Métriques, séries temporelles et ressources.
Pour plus d'informations sur l'API Cloud Monitoring, consultez la page API et documentation de référence.
Pour obtenir la liste des métriques et des ressources surveillées, consultez les sections Liste des métriques et Liste des ressources surveillées.