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 manière dont les composants se connectent vous aide à anticiper, identifier et gérer rapidement et efficacement les changements inattendus.
Ce document inclut les informations suivantes :
- Définitions de termes tels qu'observabilité, observabilité des agents et observabilité des applications et APM.
- Avantages des services d'observabilité pour le développement et la maintenance d'applications fiables.
- Comment Google Cloud Observability vous aide à surveiller et à maintenir l'état de l'application et de l'infrastructure.
- Étapes pour commencer à utiliser l'observabilité dans Google Cloud.
Observabilité
L'observabilité est une approche complète de la collecte et de l'analyse des données de télémétrie qui vous aide à comprendre l'état de vos applications, y compris les applications agentiques, et leur environnement d'exploitation. Les données de télémétrie incluent les données de journaux, les données de métriques et les données de trace. Elles peuvent é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. Les modifications inattendues apportées aux données de métriques peuvent indiquer un problème que vous devez examiner. Au fil du temps, vous pouvez également analyser les tendances pour comprendre les schémas 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, et chaque entrée de journal décrit un événement spécifique.
Les données des journaux 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 des journaux ne montrent pas efficacement comment une modification apportée à un composant d'application est liée à l'activité d'autres composants. Les données de trace peuvent combler ce fossé.
- Données de trace
Une trace représente le chemin d'une requête entre 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 la cause première d'un problème.
Pour les applications agentiques, les traces capturent les actions effectuées par votre agent. Par exemple, une trace peut capturer des appels MCP.
- Other data
Vous pouvez obtenir des insights supplémentaires en analysant les données des journaux, les données de métriques et les données de trace, ainsi que d'autres informations pertinentes. Par exemple, un libellé indiquant la gravité d'un incident ou un ID client dans les données des journaux fournit un contexte utile pour le dépannage et le débogage.
Observabilité des agents
L'observabilité des agents fait référence à des méthodes permettant de comprendre l'état interne et le comportement des agents logiciels, en particulier les agents basés sur l'IA créés à l'aide de grands modèles de langage (LLM). Les agents IA sont non déterministes et complexes. Par conséquent, l'observabilité est essentielle pour comprendre, déboguer, évaluer et améliorer leurs performances, leur sécurité et leur fiabilité.
Google Cloud offre une prise en charge de l'observabilité des applications avec la surveillance des applications, qui crée des tableaux de bord affichant des données de télémétrie des données, des données de métriques de ressources d'IA et des informations telles que les incidents ouverts. Pour en savoir plus, consultez la section Observabilité des agents et des applications 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 affichant des données de télémétrie et des services qui surveillent ces données. Ces systèmes vous aident à identifier les échecs.
L'observabilité des applications utilise des données de télémétrie pour générer des insights qui vous aident à comprendre le comportement de vos applications.
Google Cloud offre une prise en charge de l'observabilité des applications avec la surveillance des applications, qui crée des tableaux de bord affichant des données de télémétrie des données, des données de métriques de ressources d'IA et des informations telles que les incidents ouverts. Pour en savoir plus, consultez la section Observabilité des agents et des applications Google Cloud de ce document.
Services d'observabilité
Les services d'observabilité collectent, analysent et mettent en corrélation des données de télémétrie, telles que des données de journaux, des données de métriques et des données de trace. Ils offrent les fonctionnalités suivantes pour vous aider à maintenir la fiabilité des applications :
- Détecter les problèmes de manière proactive avant qu'ils n'affectent les utilisateurs.
- Résoudre les problèmes connus et nouveaux.
- Déboguer les applications pendant le développement.
- Comprendre l'impact des modifications apportées à vos applications.
- Découvrir de nouveaux insights grâce à l'exploration des 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. Vous y trouverez des informations sur 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 les applications, les services et les 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 Google Cloud projet. 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 Google Cloud services.
- Collectez automatiquement les journaux d'audit pour la plupart des Google Cloud services.
- Fournissez 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 la section Interroger et afficher les données de télémétrie.
- Fournissez des services d'analyse basés sur SQL pour vos données de journaux et vos données de trace. 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.
- Fournissez une surveillance des applications et une surveillance 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 vos données de métriques répondent aux 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 les sections Instrumentation et observabilité 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 de libellés et d'événements spécifiques à l'application qui suivent les conventions sémantiques OpenTelemetry GenAI.
Pour l'observabilité des agents, nous vous recommandons de créer vos agents avec le framework Agent Development Kit (ADK). Comme ADK repose sur OpenTelemetry, la télémétrie générée par ADK est cohérente avec les conventions sémantiques OpenTelemetry GenAI.
Pour déboguer les échecs, surveiller les coûts ou analyser le comportement des agents, y compris ceux de Gemini Enterprise Agent Platform, Agent Gateway et 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 votre latence et votre 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 des jetons. Ces métriques dérivées offrent une visibilité sur les performances et le comportement des agents. Pour en savoir plus, consultez la section Afficher les ressources d'IA.
- Les données de requêtes et de réponses vous permettent d'évaluer la qualité et la prise de décision des agents à l'aide du service d'évaluation Gen AI.
Le tableau de bord de surveillance des applications pour une application affiche une 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 :
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 du type fonctionnel est masquée par défaut.
Pour obtenir des exemples de code, consultez les pages suivantes :
- Instrumenter des applications d'IA générative.
- Collecter et afficher des requêtes et des réponses multimodales.
Prise en charge de l'identification des erreurs
Error Reporting analyse les entrées de journaux de Cloud Logging pour détecter les erreurs. Lorsqu'Error Reporting détecte des erreurs, il annote les entrées de journaux 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 possibilités d'améliorer les 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 Google Cloud services génèrent automatiquement des données de journaux et des données de métriques. Cela signifie que vous pouvez commencer à afficher certaines données d'observabilité pour les services compatibles Google Cloud sans configuration supplémentaire.
- Certains Google Cloud services tels que Google Kubernetes Engine (GKE), Compute Engine, et Cloud SQL fournissent des tableaux de bord par défaut dans la Google Cloud console 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.
- Les fonctions Cloud Run et App Engine génèrent automatiquement des données de métriques, des données de journaux et des données de trace.
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 les données associées ensemble, créez des tableaux de bord personnalisés. Par exemple, vous pouvez créer un tableau de bord qui inclut 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 des données de métriques système de base et des données de journaux. 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.
- Collectez automatiquement les données de métriques de l'hôte, telles que les données de métriques de processeur, de GPU, de mémoire et de processus.
- Collectez automatiquement les données des journaux système, telles que syslog à partir de VM Linux et les journaux des événements Windows à partir de VM Windows.
- Vous pouvez observer vos applications avec les éléments suivants :
- Intégrations d'applications tierces pour les logiciels courants , tels que Postgres, MongoDB et Java Virtual Machine. Ces intégrations incluent des tableaux de bord et des règles d'alerte préconfigurés.
- Données de métriques Prometheus
- Données de métriques et données de trace OpenTelemetry Protocol (OTLP)
- Données des journaux d'application
- Pour obtenir un résumé des données de télémétrie collectées, consultez la présentation de l'agent Ops.
Configurer des clusters GKE pour collecter des données supplémentaires
Par défaut, les clusters GKE envoient des données de journaux système et des données de 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 des packages de données de métriques d'observabilité pour comprendre l'état de vos applications et des ressources de votre 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.