This article is available in French.
1. Vue d'ensemble #
La suite Google Cloud Observability.
Les services de la suite #
Google Cloud Observability (anciennement Stackdriver puis opérations) regroupe Cloud Monitoring, Cloud Logging, Cloud Trace, Cloud Profiler et Error Reporting, ainsi que Google Cloud Managed Service for Prometheus, construit sur Monarch, la base de séries temporelles interne de Google. Les métriques de la plupart des services managés sont collectées automatiquement ; les journaux de la plateforme et les journaux d'audit arrivent dans Cloud Logging sans configuration.
Piliers pris en charge #
| Pilier | Service | Exploration | OpenTelemetry |
|---|---|---|---|
| Métriques | Cloud Monitoring, Managed Service for Prometheus | Explorateur de métriques, PromQL | ✅ Oui |
| Journaux | Cloud Logging (buckets, Log Analytics) | Langage de requête Logging, SQL (BigQuery) | ✅ Oui (collecteur, Ops Agent) |
| Traces | Cloud Trace | Explorateur de traces | ✅ Oui (OTLP via l'API Telemetry) |
| Profils | Cloud Profiler (Go, Java, Node.js, Python) | Graphes de flammes, comparaisons | 🟡 Partiel (agent Profiler propre à Google) |
| Erreurs | Error Reporting | Regroupement des exceptions | 🟡 Partiel |
| Synthétique | Tests de disponibilité, moniteurs synthétiques | Cloud Monitoring | 🟡 Partiel |
À savoir : Google Cloud est l'un des rares clouds à proposer nativement les quatre piliers, profils compris, avec Cloud Profiler et son faible surcoût en production.
2. Les composants en détail #
Rôle de chaque service.
Cloud Monitoring #
Cloud Monitoring stocke les métriques système et personnalisées, propose l'explorateur de métriques, des tableaux de bord, des tests de disponibilité (uptime checks) et des moniteurs synthétiques, des règles d'alerte (MQL historique, PromQL désormais recommandé) et la supervision des SLO avec budget d'erreur et alertes de taux de consommation. Les scoping projects (périmètres de métriques) regroupent les métriques de plusieurs projets.
gcloud monitoring uptime create api-boutique \
--resource-type=uptime-url --resource-labels=host=api.exemple.fr,project_id=boutique-prod \
--path=/healthz --period=1Cloud Logging #
Tous les journaux passent par le routeur de journaux : des récepteurs (sinks) les envoient vers des buckets de journaux (rétention configurable), BigQuery, Cloud Storage ou Pub/Sub ; des filtres d'exclusion évitent d'ingérer l'inutile. Log Analytics permet d'interroger les buckets mis à niveau en SQL, avec des jeux de données BigQuery liés. Les métriques basées sur les journaux transforment des motifs en métriques d'alerte.
gcloud logging sinks create vers-bigquery \
bigquery.googleapis.com/projects/boutique-prod/datasets/journaux \
--log-filter='resource.type="cloud_run_revision" AND severity>=WARNING' --use-partitioned-tablesCloud Trace, Cloud Profiler et Error Reporting #
Cloud Trace stocke et analyse les spans (latence, carte des appels, rapports). Cloud Profiler collecte en continu des profils CPU et mémoire avec un surcoût très faible et compare les versions. Error Reporting regroupe automatiquement les exceptions détectées dans les journaux et notifie les nouvelles erreurs.
Ops Agent et collecte sur Kubernetes #
Sur Compute Engine, l'Ops Agent (fondé sur Fluent Bit pour les journaux et le collecteur OpenTelemetry pour les métriques) collecte métriques système et journaux, avec des intégrations tierces (NGINX, PostgreSQL…). Sur GKE, la collecte des journaux et des métriques système est intégrée, et Managed Prometheus collecte les métriques applicatives avec des ressources PodMonitoring.
apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata: { name: api, namespace: boutique }
spec:
selector: { matchLabels: { app: api } }
endpoints:
- port: metrics
interval: 30s3. Fiche détaillée de chaque composant #
Rôle, contenu, types de données, rétention et interactions internes et externes de chaque brique du schéma.
Vue récapitulative #
Le tableau suivant résume chaque composant du schéma d'architecture ; les fiches qui suivent les détaillent une par une.
| Composant | Zone | Signaux | Ouvrable vers l'extérieur |
|---|---|---|---|
| Collecteur OpenTelemetry de Google | Collecte | Métriques, traces, journaux | 🔒 Non (interne) |
| Ops Agent | Collecte | Métriques système, journaux | 🔒 Non (interne) |
| Cloud Monitoring | Stockage | Métriques, SLO | 🟡 Indirectement |
| Managed Service for Prometheus | Stockage | Métriques Prometheus | 🟡 Indirectement |
| Cloud Logging | Stockage | Journaux, audit | 🟡 Indirectement |
| Cloud Trace | Stockage | Traces | 🟡 Indirectement |
| Cloud Profiler | Stockage | Profils | 🔒 Non (interne) |
| Error Reporting | Analyse | Erreurs | 🔒 Non (interne) |
| Alertes et canaux de notification | Sortie | Événements | 🟠 Oui |
| API de requête | Sortie | Tous | 🟠 Oui |
| Récepteurs de journaux | Sortie | Journaux en flux | 🟠 Oui |
Valeurs indicatives : Les durées de rétention, limites et modèles de prix évoluent régulièrement : vérifiez-les dans la documentation officielle avant de dimensionner une architecture.
Collecteur OpenTelemetry construit par Google #
La distribution du collecteur OpenTelemetry publiée et prise en charge par Google.
| Caractéristique | Détail |
|---|---|
| Rôle | Recevoir la télémétrie OpenTelemetry des applications et l'envoyer vers les services Google Cloud Observability. |
| Contenu | Récepteurs OTLP et Prometheus, processeurs (lots, détection des ressources GCP, filtrage), exportateurs googlecloud et googlemanagedprometheus, envoi OTLP vers l'API Telemetry. |
| Type de données | OTLP (traces, métriques, journaux), métriques Prometheus. |
| Stockage et rétention | Aucun : files d'envoi. |
| Entrées (composants internes) | Applications instrumentées sur GKE, Compute Engine, Cloud Run ou hors Google Cloud. |
| Sorties (composants internes) | Cloud Trace, Managed Service for Prometheus, Cloud Logging, Cloud Monitoring. |
| Interactions externes | Peut dupliquer les données vers un back-end tiers OTLP. |
| Ouvrable vers l'extérieur | 🔒 Non (interne) |
| Sécurité et accès | Compte de service (Workload Identity sur GKE) avec les rôles d'écriture (Monitoring Metric Writer, Logs Writer, Cloud Trace Agent). |
| Coût | Gratuit ; on paie l'hébergement et l'ingestion. |
Ops Agent #
L'agent de Compute Engine qui combine Fluent Bit (journaux) et le collecteur OpenTelemetry (métriques).
| Caractéristique | Détail |
|---|---|
| Rôle | Collecter métriques système et applicatives et journaux des VM. |
| Contenu | Fichier /etc/google-cloud-ops-agent/config.yaml ; intégrations tierces (NGINX, Apache, PostgreSQL, MySQL, Redis…) ; déploiement par stratégies de VM Manager. |
| Type de données | Métriques (CPU, mémoire, disque, réseau, processus), journaux système et applicatifs. |
| Stockage et rétention | Aucun : tampon local. |
| Entrées (composants internes) | VM Compute Engine (et serveurs hors Google Cloud avec configuration adaptée). |
| Sorties (composants internes) | Cloud Monitoring, Cloud Logging. |
| Interactions externes | Aucune directe. |
| Ouvrable vers l'extérieur | 🔒 Non (interne) |
| Sécurité et accès | Compte de service de la VM avec rôles Logs Writer et Monitoring Metric Writer. |
| Coût | Gratuit ; ingestion facturée. |
Cloud Monitoring #
Le service de métriques, de tableaux de bord, de tests de disponibilité et de SLO de Google Cloud, adossé à Monarch.
| Caractéristique | Détail |
|---|---|
| Rôle | Stocker et interroger les métriques, piloter alertes et SLO, regrouper les projets dans un périmètre de métriques. |
| Contenu | Métriques système Google Cloud, métriques d'agent, personnalisées, basées sur les journaux et Prometheus ; explorateur de métriques ; tableaux de bord ; tests de disponibilité et moniteurs synthétiques ; supervision des SLO. |
| Type de données | Séries temporelles (types gauge, delta, cumulative ; valeurs entières, flottantes, distributions). |
| Stockage et rétention | Données conservées 24 mois (6 semaines pour certaines métriques à forte résolution selon le type). |
| Entrées (composants internes) | Services Google Cloud (automatique), Ops Agent, collecteur OpenTelemetry, Managed Prometheus, métriques basées sur les journaux. |
| Sorties (composants internes) | Règles d'alerte, tableaux de bord, SLO. |
| Interactions externes | Lu par Grafana (source Google Cloud Monitoring), Datadog, Dynatrace, New Relic via l'API. |
| Ouvrable vers l'extérieur | 🟡 Indirectement : par l'API Cloud Monitoring et l'API Prometheus. |
| Sécurité et accès | IAM (Monitoring Viewer, Editor, Metric Writer) ; périmètres de métriques multi-projets. |
| Coût | Métriques Google Cloud gratuites ; métriques personnalisées et d'agent au volume ingéré ; appels d'API de lecture. |
Google Cloud Managed Service for Prometheus #
Un Prometheus managé et mondial, stocké dans Monarch.
| Caractéristique | Détail |
|---|---|
| Rôle | Collecter et stocker les métriques Prometheus à grande échelle et les interroger en PromQL depuis tous les projets. |
| Contenu | Collecte managée (PodMonitoring, ClusterPodMonitoring), collecte auto-déployée (binaire Prometheus de remplacement), évaluateur de règles, frontend de requête compatible Prometheus. |
| Type de données | Séries temporelles Prometheus. |
| Stockage et rétention | 24 mois, comme Cloud Monitoring. |
| Entrées (composants internes) | Collecte managée sur GKE, Prometheus auto-déployé, collecteur OpenTelemetry (googlemanagedprometheus). |
| Sorties (composants internes) | Cloud Monitoring (explorateur, alertes PromQL), API Prometheus. |
| Interactions externes | Grafana et tout outil PromQL via l'API HTTP Prometheus. |
| Ouvrable vers l'extérieur | 🟡 Indirectement : par l'API PromQL. |
| Sécurité et accès | IAM Monitoring ; compte de service pour le frontend de requête. |
| Coût | Au nombre d'échantillons ingérés. |
Cloud Logging #
Le service de journaux de Google Cloud, organisé autour du routeur de journaux.
| Caractéristique | Détail |
|---|---|
| Rôle | Recevoir, router, stocker et analyser les journaux, y compris les journaux d'audit. |
| Contenu | Routeur de journaux, récepteurs, filtres d'exclusion, buckets de journaux, Log Analytics (SQL via BigQuery), métriques basées sur les journaux, langage de requête Logging. |
| Type de données | Entrées de journal structurées (LogEntry : ressource, sévérité, charge utile texte ou JSON, trace) ; journaux d'audit (activité d'administration, accès aux données, événements système, refus de règles). |
| Stockage et rétention | Bucket _Required : 400 jours (audit d'administration, non modifiable, gratuit) ; bucket _Default : 30 jours ; buckets personnalisés de 1 jour à 10 ans. |
| Entrées (composants internes) | Services Google Cloud (automatique), Ops Agent, collecteur OpenTelemetry, API Logging, GKE. |
| Sorties (composants internes) | Buckets, métriques basées sur les journaux, Error Reporting, alertes basées sur les journaux. |
| Interactions externes | Récepteurs vers Pub/Sub, BigQuery, Cloud Storage ; API de lecture. |
| Ouvrable vers l'extérieur | 🟡 Indirectement : par les récepteurs et l'API. |
| Sécurité et accès | IAM (Logs Viewer, Private Logs Viewer pour l'accès aux données) ; vues de journaux par bucket. |
| Coût | Ingestion au-delà du quota gratuit, stockage au-delà de 30 jours. |
Cloud Trace #
Le service de traces distribuées de Google Cloud.
| Caractéristique | Détail |
|---|---|
| Rôle | Stocker les spans, analyser la latence et les dépendances des requêtes. |
| Contenu | Explorateur de traces, rapports de latence, liens avec les journaux (champ trace des entrées de journal). |
| Type de données | Traces et spans (OTLP accepté par l'API Telemetry). |
| Stockage et rétention | Conservées 30 jours. |
| Entrées (composants internes) | Collecteur OpenTelemetry, SDK OpenTelemetry, services instrumentés (Cloud Run, App Engine). |
| Sorties (composants internes) | Console, corrélation avec Cloud Logging. |
| Interactions externes | Les traces peuvent être dupliquées vers un APM tiers par le collecteur. |
| Ouvrable vers l'extérieur | 🟡 Indirectement : par l'API Cloud Trace. |
| Sécurité et accès | IAM (Cloud Trace Agent pour écrire, User pour lire). |
| Coût | Au nombre de spans ingérés au-delà du quota gratuit. |
Cloud Profiler #
Le profilage continu en production de Google Cloud.
| Caractéristique | Détail |
|---|---|
| Rôle | Mesurer en continu où le code consomme CPU et mémoire et comparer les versions. |
| Contenu | Profils CPU, tas, threads, contention et temps réel selon le langage ; graphes de flammes ; comparaisons. |
| Type de données | Profils (format pprof). |
| Stockage et rétention | Profils conservés 30 jours. |
| Entrées (composants internes) | Agent Profiler intégré à l'application (Go, Java, Node.js, Python). |
| Sorties (composants internes) | Console Cloud Profiler. |
| Interactions externes | Aucune intégration native ; les outils tiers utilisent leur propre profilage (Pyroscope…). |
| Ouvrable vers l'extérieur | 🔒 Non (interne) |
| Sécurité et accès | IAM (Cloud Profiler Agent, User). |
| Coût | Sans frais supplémentaires. |
Error Reporting #
Le regroupement automatique des exceptions applicatives.
| Caractéristique | Détail |
|---|---|
| Rôle | Détecter, regrouper et suivre les erreurs à partir des journaux et notifier les nouvelles erreurs. |
| Contenu | Groupes d'erreurs, occurrences, piles d'appels, statut (ouvert, accusé, résolu), notifications. |
| Type de données | Exceptions extraites des journaux (traces de pile). |
| Stockage et rétention | Selon les journaux sous-jacents. |
| Entrées (composants internes) | Cloud Logging. |
| Sorties (composants internes) | Notifications vers les canaux configurés. |
| Interactions externes | Aucune directe. |
| Ouvrable vers l'extérieur | 🔒 Non (interne) |
| Sécurité et accès | IAM (Error Reporting Viewer, User). |
| Coût | Sans frais supplémentaires (coût des journaux). |
Alertes et canaux de notification #
Le moteur d'alerte de Cloud Monitoring.
| Caractéristique | Détail |
|---|---|
| Rôle | Évaluer des conditions sur les métriques, les SLO ou les journaux et notifier. |
| Contenu | Règles d'alerte (seuil, absence de données, PromQL, taux de consommation de SLO), alertes basées sur les journaux, incidents, documentation de l'alerte. |
| Type de données | Incidents (ouverts, résolus). |
| Entrées (composants internes) | Cloud Monitoring, Managed Prometheus, Cloud Logging. |
| Sorties (composants internes) | Incidents dans la console. |
| Interactions externes | E-mail, SMS, application mobile, Slack, PagerDuty, webhooks, Pub/Sub. |
| Ouvrable vers l'extérieur | 🟠 Oui : notifications et webhooks sortants. |
| Sécurité et accès | IAM Monitoring Editor ; jetons des webhooks. |
| Coût | Par condition d'alerte et par série évaluée. |
API de requête (Monitoring, Prometheus, Logging, Trace) #
Les API qui exposent toutes les données d'observabilité de Google Cloud en lecture.
| Caractéristique | Détail |
|---|---|
| Rôle | Permettre l'interrogation des métriques, journaux et traces par des outils et des scripts. |
| Contenu | API Cloud Monitoring (timeSeries), API HTTP Prometheus (PromQL), API Cloud Logging (entries.list), API Cloud Trace ; bibliothèques clientes. |
| Type de données | Réponses JSON ou protobuf. |
| Entrées (composants internes) | Cloud Monitoring, Managed Prometheus, Cloud Logging, Cloud Trace. |
| Sorties (composants internes) | Tout client autorisé. |
| Interactions externes | Grafana, Datadog, Dynatrace, New Relic, scripts. |
| Ouvrable vers l'extérieur | 🟠 Oui : points de terminaison googleapis.com (ou Private Service Connect). |
| Sécurité et accès | Compte de service avec rôles de lecture (Monitoring Viewer, Logs Viewer) ; VPC Service Controls possibles. |
| Coût | Lectures d'API Monitoring facturées au-delà du quota. |
Récepteurs de journaux (Pub/Sub, BigQuery, Cloud Storage) #
Les sorties du routeur de journaux, au niveau projet, dossier ou organisation.
| Caractéristique | Détail |
|---|---|
| Rôle | Exporter en continu les journaux filtrés vers une destination d'analyse, d'archivage ou de diffusion. |
| Contenu | Filtre d'inclusion, exclusions, destination, identité d'écriture (compte de service) ; récepteurs agrégés pour toute une organisation. |
| Type de données | Entrées de journal au format JSON. |
| Stockage et rétention | Selon la destination : BigQuery (tables partitionnées), Cloud Storage (fichiers horaires), Pub/Sub (7 jours de rétention des messages par défaut). |
| Entrées (composants internes) | Cloud Logging (routeur). |
| Sorties (composants internes) | Buckets d'autres projets, BigQuery, Cloud Storage, Pub/Sub. |
| Interactions externes | Splunk (modèle Dataflow Pub/Sub vers Splunk), Datadog, Elastic, Sumo Logic, SIEM via Pub/Sub ; outils BI via BigQuery. |
| Ouvrable vers l'extérieur | 🟠 Oui : c'est le principal canal d'export en continu. |
| Sécurité et accès | L'identité d'écriture du récepteur doit avoir le droit de publier ou d'écrire dans la destination. |
| Coût | Routage gratuit ; coûts de la destination (Pub/Sub, BigQuery, stockage). |
4. Compatibilité OpenTelemetry #
Collecteur Google, API Telemetry et exportateurs.
Envoyer de la télémétrie OpenTelemetry vers Google Cloud #
Google publie un collecteur OpenTelemetry construit par Google (Google-Built OpenTelemetry Collector) et les exportateurs googlecloud (traces, métriques, journaux) et googlemanagedprometheus de la distribution contrib. L'API Telemetry (telemetry.googleapis.com) accepte directement l'OTLP pour les traces : un collecteur standard peut l'utiliser avec l'authentification Google.
receivers:
otlp: { protocols: { grpc: {}, http: {} } }
processors:
batch: {}
resourcedetection: { detectors: [gcp] }
exporters:
googlecloud: {} # traces et journaux vers Cloud Trace et Cloud Logging
googlemanagedprometheus: {} # métriques vers Managed Service for Prometheus
service:
pipelines:
traces: { receivers: [otlp], processors: [resourcedetection, batch], exporters: [googlecloud] }
metrics: { receivers: [otlp], processors: [resourcedetection, batch], exporters: [googlemanagedprometheus] }
logs: { receivers: [otlp], processors: [resourcedetection, batch], exporters: [googlecloud] }Bonne Pratique : Préférezgooglemanagedprometheusàgooglecloudpour les métriques : elles sont interrogeables en PromQL et facturées au nombre d'échantillons.
5. Interconnexions avec les produits externes #
Partager les données.
Exporter et intégrer #
| Mécanisme | Données | Destinations |
|---|---|---|
| Récepteur de journaux vers Pub/Sub | Journaux filtrés | Splunk (modèle Dataflow Pub/Sub vers Splunk), Datadog, Elastic, Sumo Logic |
| Récepteur vers BigQuery ou Cloud Storage | Journaux pour analyse ou archivage | Outils BI, data lake, SIEM |
| Intégrations par compte de service | Métriques Cloud Monitoring | Datadog, Dynatrace, New Relic, Elastic |
| Source de données Grafana | Cloud Monitoring, Managed Prometheus (PromQL), Logging, Trace | Grafana Cloud ou auto-hébergé |
| Google Security Operations | Journaux de sécurité | SIEM de Google (Chronicle) |
À savoir : Managed Prometheus expose une API compatible Prometheus : Grafana ou tout outil compatible PromQL peut l'interroger directement.
6. Coûts et bonnes pratiques #
Contrôler l'ingestion.
Bonnes pratiques #
- Utiliser des filtres d'exclusion et une rétention adaptée par bucket de journaux.
- Centraliser les journaux d'une organisation avec des récepteurs agrégés au niveau du dossier ou de l'organisation.
- Définir des SLO dans Cloud Monitoring et alerter sur le taux de consommation du budget d'erreur.
- Activer Cloud Profiler en production : son surcoût est faible et il révèle les régressions de performance.
- Instrumenter avec OpenTelemetry et le collecteur Google pour garder la portabilité.
- Surveiller la cardinalité des métriques personnalisées et Prometheus.
Point d'attention : Les journaux d'accès aux données (Data Access) des journaux d'audit sont désactivés par défaut et peuvent être très volumineux : activez-les seulement pour les services nécessaires.
My progress
Sign in to track your progress and take notes. Sign in
Recommended Articles
Exploiter Google Cloud : observabilité, sécurité, infrastructure as code et coûts
Exploiter Google Cloud : Cloud Monitoring, Cloud Logging et Cloud Trace (Google Cloud Observabili...
Les bases de données Google Cloud : Cloud SQL, AlloyDB, Spanner, Firestore et Bigtable
Choisir une base de données sur Google Cloud : Cloud SQL et AlloyDB pour le relationnel, Spanner ...
IAM sur Google Cloud : rôles, comptes de service et règles d'administration
Gérer les accès sur Google Cloud : principaux, rôles de base, prédéfinis et personnalisés, liaiso...
Bonnes pratiques Google Cloud : organisation, sécurité, fiabilité et coûts
Les bonnes pratiques pour exploiter Google Cloud : organisation et dossiers, projets par environn...
Comprendre Google Cloud : régions, projets, hiérarchie, outils et tarification
Les bases de Google Cloud : régions et zones, hiérarchie organisation, dossiers et projets, API à...
Le calcul sur Google Cloud : Compute Engine, GKE, Cloud Run et Cloud Functions
Choisir le calcul sur Google Cloud : VM Compute Engine et groupes d'instances gérés, Google Kuber...
Le stockage Google Cloud : Cloud Storage, disques persistants et Filestore
Stocker des données sur Google Cloud : Cloud Storage (classes, emplacements régionaux, birégionau...
Préparer la certification Google Cloud Digital Leader
Guide de préparation au Cloud Digital Leader : format, domaines (transformation numérique, donnée...
Préparer la certification Google Associate Cloud Engineer
Guide de préparation à l'Associate Cloud Engineer : format, cinq domaines (mise en place, planifi...