Observabilité dans Google Cloud

Google Cloud Observability inclut des services d'observabilité qui vous aident à comprendre le comportement, l'état et les performances de vos applications, y compris les applications agentiques. Comprendre le comportement des applications et la façon dont les composants se connectent vous aide à anticiper, identifier et réagir rapidement et efficacement aux changements inattendus.

Ce document inclut les informations suivantes :

Observabilité

L'observabilité est une approche complète de la collecte et de l'analyse des données de télémétrie pour vous aider à comprendre l'état de vos applications, y compris les applications agentiques, et de leur environnement d'exploitation. Les données de télémétrie incluent les données de journaux, de métriques et de traces. Il peut également inclure d'autres données générées par vos applications, telles que des requêtes et des réponses. Les données de télémétrie fournissent les informations dont vous avez besoin pour comprendre l'état et les performances de vos applications.

Données de métriques
Les données de métriques sont des données numériques sur l'état ou les performances que le système mesure à intervalles réguliers (par exemple, l'utilisation du processeur et la latence des requêtes). Des modifications inattendues des données de métriques peuvent indiquer un problème que vous devez examiner. Au fil du temps, vous pouvez également analyser les modèles pour comprendre les modèles d'utilisation et anticiper les besoins en ressources.
Données des journaux

Un journal est un enregistrement généré de l'activité du système ou de l'application au fil du temps. Chaque journal est un ensemble d'entrées de journal horodatées. Chaque entrée de journal décrit un événement spécifique.

Les données de journal contiennent souvent des informations enrichies et détaillées qui vous aident à comprendre ce qui s'est passé dans une partie spécifique de votre application. Toutefois, les données de journal n'indiquent pas efficacement comment une modification d'un composant d'application est liée à l'activité d'autres composants. Les données de trace peuvent combler cette lacune.

Données de trace

Une trace représente le chemin d'une requête à travers les composants de votre application distribuée. Autrement dit, chaque trace représente une seule opération de bout en bout. Comme les traces sont composées de segments, qui sont des enregistrements pour une seule fonction ou opération, elles vous permettent de suivre le flux des requêtes et d'examiner les données de latence. Ces informations peuvent vous aider à identifier l'origine d'un problème.

Pour les applications agentiques, les traces capturent les actions effectuées par votre agent. Par exemple, une trace peut capturer les appels MCP.

Other data

Vous pouvez obtenir des insights supplémentaires en analysant les données de journaux, de métriques et de traces, ainsi que d'autres informations pertinentes. Par exemple, un libellé indiquant la gravité d'une alerte ou un numéro client dans les données de journal fournit un contexte utile pour le dépannage et le débogage.

Observabilité des agents

L'observabilité des agents fait référence aux méthodes permettant de comprendre l'état interne et le comportement des agents logiciels, en particulier les agents optimisés par l'IA créés à l'aide de grands modèles de langage (LLM). Les agents IA sont non déterministes et complexes. L'observabilité est donc essentielle pour comprendre, déboguer, évaluer et améliorer leurs performances, leur sécurité et leur fiabilité.

Google Cloud permet d'observer les applications avec Application Monitoring, qui crée des tableaux de bord affichant des données de télémétrie, des données de métriques de ressources d'IA et des informations telles que les alertes ouvertes. Pour en savoir plus, consultez la section Observabilité des agents et des applications dans Google Cloud de ce document.

Observabilité des applications et APM

La gestion des performances des applications (APM) surveille, diagnostique et gère les performances, la disponibilité et l'expérience utilisateur des applications logicielles, y compris les applications agentiques. Un système APM fournit généralement des tableaux de bord qui affichent les données de télémétrie et les services qui surveillent les données de télémétrie. Ces systèmes vous aident à identifier les défaillances.

L'observabilité des applications utilise les données de télémétrie pour générer des insights qui vous aident à comprendre le comportement de vos applications.

Google Cloud permet d'observer les applications avec Application Monitoring, qui crée des tableaux de bord affichant des données de télémétrie, des données de métriques de ressources d'IA et des informations telles que les alertes ouvertes. Pour en savoir plus, consultez la section Observabilité des agents et des applications dans Google Cloud de ce document.

Services d'observabilité

Les services d'observabilité collectent, analysent et mettent en corrélation les données de télémétrie, telles que les données de journaux, de métriques et de traces. Ils offrent les fonctionnalités suivantes pour vous aider à maintenir la fiabilité de l'application :

  • Détectez les problèmes de manière proactive avant qu'ils n'affectent les utilisateurs.
  • Résoudre les problèmes connus et nouveaux
  • Déboguer des applications pendant le développement
  • Comprenez l'impact des modifications apportées à vos applications.
  • Découvrez de nouveaux insights grâce à l'exploration de données.

Pour en savoir plus sur les pratiques de fiabilité, y compris les principes et les pratiques d'observabilité, consultez l'ouvrage Site Reliability Engineering: How Google Runs Production Systems. Les sujets abordés incluent la surveillance des systèmes distribués, les alertes et le dépannage.

Google Cloud Observability

Les services de Google Cloud Observability vous aident à collecter, analyser et mettre en corrélation des données de télémétrie, à la fois à partir de vos applications et de l'infrastructure sous-jacente. Ces services fournissent également des valeurs par défaut intégrées pour vous aider à démarrer. Par exemple, la surveillance des applications crée des tableaux de bord et des cartes de topologie pour vos applications, services et charges de travail enregistrés dans App Hub.

Collecte automatique des données de télémétrie

Monitoring, Logging et Trace sont des services activés par défaut lorsque vous créez un projet Google Cloud . Ces services fournissent les fonctionnalités de base pour collecter, analyser et visualiser vos données de télémétrie :

  • Collectez automatiquement les données de télémétrie pour la plupart des services Google Cloud .
  • Collectez automatiquement les journaux d'audit pour la plupart des services Google Cloud.
  • Fournir des services de visualisation, y compris des tableaux de bord et des explorateurs de télémétrie, qui vous permettent d'afficher et d'examiner vos données de télémétrie. Par exemple, l'explorateur de traces vous permet d'afficher les traces, les segments et les métadonnées, y compris les requêtes et les réponses multimodales. Pour en savoir plus, consultez Interroger et afficher les données de télémétrie.
  • Fournir des services d'analyse basés sur SQL pour vos données de journaux et de traces. Par exemple, vous pouvez utiliser BigQuery pour comparer les URL de vos données de journaux avec un ensemble de données public d'URL malveillantes connues.
  • Fournir une surveillance des applications et de la télémétrie. Par exemple, vous pouvez créer des règles d'alerte qui vous avertissent lorsque vos données de journaux ou de métriques remplissent les conditions que vous spécifiez. Vous pouvez également utiliser la surveillance synthétique pour tester les performances de vos applications.
  • Collectez les données de télémétrie de vos applications instrumentées. L'instrumentation est le code que vous ajoutez à une application pour émettre des données de télémétrie.

    Pour instrumenter votre application, nous vous recommandons d'utiliser un framework d'instrumentation Open Source neutre du point du vue du fournisseur, tel qu'OpenTelemetry, plutôt que des API spécifiques aux fournisseurs et aux produits ou des bibliothèques clientes. Pour en savoir plus sur ces frameworks, consultez Observabilité pour les développeurs d'applications et Choisir une approche d'instrumentation.

Observabilité des agents et des applications

La surveillance des applications dans Google Cloud fournit à la fois l'observabilité des agents et l'observabilité des applications. Ce service fournit des tableaux de bord et des cartes de topologie qui vous permettent de comprendre l'état et les performances de vos applications, services et charges de travail App Hub. Il génère et affiche également des métriques telles que les taux d'erreur et l'utilisation des jetons pour les ressources d'IA. Pour générer ces métriques, la surveillance des applications filtre et agrège vos données de trace à l'aide d'étiquettes et d'événements spécifiques à l'application qui respectent les conventions sémantiques OpenTelemetry pour l'IA générative.

Pour l'observabilité des agents, nous vous recommandons de créer vos agents avec le framework Agent Development Kit (ADK). Comme l'ADK repose sur OpenTelemetry, la télémétrie qu'il génère est conforme aux conventions sémantiques d'IA générative d'OpenTelemetry.

Pour déboguer les défaillances, surveiller les coûts ou analyser le comportement des agents (y compris ceux de Gemini Enterprise Agent Platform, d'Agent Gateway et de Model Armor), vous avez besoin de données de journaux, de métriques et de traces :

  • Les journaux fournissent des informations sur les événements et les erreurs.
  • Les métriques vous permettent de surveiller la latence et l'utilisation des jetons.
  • Les traces fournissent des informations sur les chemins d'exécution et sont analysées pour dériver des métriques telles que le nombre d'appels de modèle ou l'utilisation totale de jetons. Ces métriques dérivées offrent une visibilité sur les performances et le comportement des agents. Pour en savoir plus, consultez Afficher les ressources d'IA.
  • Les données de prompt et de réponse vous permettent d'évaluer la qualité et la prise de décision de l'agent à l'aide de Gen AI Evaluation Service.

Le tableau de bord "Surveillance des applications" d'une application affiche la liste des services et des charges de travail de l'application, tels que les applications Gemini Enterprise, les agents Gemini Enterprise Agent Platform et les serveurs MCP :

Vue d'ensemble listant les services et les charges de travail d'une application.

Vous pouvez identifier les services et les charges de travail agentiques à l'aide du type d'infrastructure ou du type fonctionnel App Hub. La colonne "Type fonctionnel" est masquée par défaut.

Pour obtenir des exemples de code, consultez les pages suivantes :

Aide pour identifier les erreurs

Error Reporting analyse les entrées de journaux de Cloud Logging pour détecter les erreurs. Lorsque Error Reporting détecte des erreurs, il annote les entrées de journal associées et crée un groupe d'erreurs. Explorez ces groupes d'erreurs pour identifier la cause et l'historique de l'erreur.

Prise en charge du profilage

Cloud Profiler vous permet d'analyser l'utilisation du processeur et de la mémoire de vos applications afin d'identifier les opportunités d'amélioration des performances.

Commencer

Cette section décrit les étapes à suivre pour vous familiariser avec les fonctionnalités d'observabilité dans Google Cloud.

Suivre les guides de démarrage rapide

Suivez les guides de démarrage rapide pour vous familiariser avec les services disponibles.

Afficher les données collectées automatiquement

La plupart des services Google Cloud génèrent automatiquement des données de journaux et de métriques. Cela signifie que vous pouvez commencer à afficher certaines données d'observabilité pour les services Google Cloud compatibles sans configuration supplémentaire.

  • Certains services Google Cloud tels que Google Kubernetes Engine (GKE), Compute Engine et Cloud SQL fournissent des tableaux de bord par défaut dans la console Google Cloud pour afficher les données d'observabilité dans le contexte du service.
  • Compute Engine, GKE et Cloud Run génèrent des données de métriques système et des données de journaux par défaut. Vous configurez la collecte de données supplémentaires.
  • Cloud Run Functions et App Engine génèrent automatiquement des données de métriques, de journaux et de traces.

Vous pouvez également représenter les données de métriques collectées dans un graphique Explorateur de métriques, afficher les données de journaux dans l'explorateur de journaux ou afficher les données de trace dans Trace. Pour examiner des données associées ensemble, créez des tableaux de bord personnalisés. Par exemple, vous pouvez créer un tableau de bord incluant des données de journaux, des données de métriques de performances et des règles d'alerte pour les machines virtuelles.

Configurer des VM Compute Engine pour collecter des données supplémentaires

Par défaut, les VM Compute Engine ne collectent que les données de métriques système et les données de journaux de base. Toutefois, vous pouvez installer l'agent Ops pour collecter des données de télémétrie supplémentaires à partir de vos instances et applications Compute Engine à des fins de dépannage, de surveillance des performances et d'alerte. L'agent Ops n'est pas une application agentique. Il s'agit plutôt d'un logiciel déterministe qui collecte des données de télémétrie.

Configurer des clusters GKE pour collecter des données supplémentaires

Par défaut, les clusters GKE envoient les données des journaux système et des métriques système à Logging et Monitoring. Google Cloud Managed Service pour Prometheus gère la collecte des données de métriques tierces et des données de métriques définies par l'utilisateur.

  • Utilisez les packages de données de métriques d'observabilité pour comprendre l'état de vos applications et des ressources de cluster. Par exemple, les données de métriques du plan de contrôle sont utiles pour créer des SLO afin de surveiller la disponibilité et la latence des services.
  • Surveillez les applications tierces telles que Postgres, MongoDB et Redis. Ces intégrations fournissent des tableaux de bord et des règles d'alerte préconfigurés.

Configurer Cloud Run pour collecter des données personnalisées

Si vous disposez d'un service Cloud Run qui écrit des données de métriques Prometheus, vous pouvez utiliser le side-car Prometheus pour envoyer les données de métriques à Cloud Monitoring.

Si votre service Cloud Run écrit des données de métriques OTLP, vous pouvez utiliser un side-car OpenTelemetry. Pour obtenir un exemple, consultez le tutoriel sur la collecte de données de métriques OTLP à l'aide du side-car.