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 avec agent. La visibilité sur le comportement des applications et la manière dont les composants sont connectés vous aident à anticiper, identifier et traiter les changements inattendus plus rapidement et plus efficacement.
Ce document contient 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 holistique de la collecte et de l'analyse des données de télémétrie pour comprendre l'état de vos applications, y compris vos applications avec agent, et leur environnement d'exploitation. Les données de télémétrie incluent les données de journaux, de métriques et de traces. Elles peuvent également inclure d'autres données générées par vos applications, telles que les requêtes et les 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 à examiner. Au fil du temps, vous pouvez également analyser les tendances pour mieux 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 journaux contiennent souvent des informations riches 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 journaux ne montrent pas efficacement comment une modification apportée à un composant de votre 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 dans les différentes parties de votre application distribuée. Autrement dit, chaque trace représente une seule opération de bout en bout. Étant donné que 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 avec agent, 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 de journaux, de métriques et de traces, ainsi que d'autres informations pertinentes. Par exemple, un libellé indiquant la gravité d'un incident ou un ID client dans les journaux 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 basés sur l'IA créés à l'aide de grands modèles de langage (LLM). Étant donné que les agents d'IA sont non déterministes et complexes, l'observabilité est essentielle pour comprendre, déboguer, évaluer et améliorer leurs performances, leur sécurité et leur fiabilité.
Google Cloud prend en charge l'observabilité des applications avec la surveillance des applications, qui crée des tableaux de bord affichant la télémétrie, les métriques des 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 avec agent. Un système APM fournit généralement des tableaux de bord qui affichent la télémétrie et les services qui la surveillent. Ces systèmes vous aident à identifier les défaillances.
L'observabilité des applications utilise des données de télémétrie pour générer des insights qui peuvent vous aider à comprendre le comportement de vos applications.
Google Cloud prend en charge l'observabilité des applications avec la surveillance des applications, qui crée des tableaux de bord affichant la télémétrie, les métriques des 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 les données de journaux, de métriques et de traces. Ces services vous aident à maintenir la fiabilité des applications en fournissant les fonctionnalités suivantes :
- Détecter de manière proactive les problèmes 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. 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 plus rapidement. 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 font partie 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 votre télémétrie :
- Collectez automatiquement la 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 votre 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 page 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 de traces. Par exemple, vous pouvez utiliser BigQuery pour comparer les URL de vos journaux à un ensemble de données public d'URL malveillantes connues.
- Fournissez 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 répondent aux conditions que vous spécifiez. Vous pouvez également utiliser la surveillance synthétique pour tester les performances de vos applications.
Collectez la 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 pages 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). Étant donné qu'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 page 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 de Gen AI Evaluation Service.
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 avec agent à 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 :
- 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 journal de Cloud Logging pour détecter les erreurs. Lorsqu'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 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 de métriques. Cela signifie que vous pouvez commencer à examiner 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 métriques système et des journaux par défaut, et vous configurez la collecte de données supplémentaires.
- Les fonctions Cloud Run et App Engine génèrent automatiquement des métriques, des journaux et des traces.
Vous pouvez également représenter les métriques collectées dans un graphique Explorateur de métriques, afficher les journaux dans l'explorateur de journaux ou afficher les traces 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 les journaux, les métriques de performances et les 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 métriques et les journaux système de base. Toutefois, vous pouvez installer l'agent Ops pour collecter des données télémétriques 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 avec agent. Il s'agit plutôt d'un logiciel déterministe qui collecte des données télémétriques.
- Collectez automatiquement les métriques de l'hôte, telles que les métriques de processeur, de GPU, de mémoire et de processus.
- Collectez automatiquement les journaux système tels que syslog à partir de VM Linux et les journaux des événements Windows à partir de VM Windows.
- Observez vos applications avec :
- Intégrations d'applications tierces pour les logiciels courants tels que Postgres, MongoDB et Java Virtual Machine avec des tableaux de bord et des règles d'alerte préconfigurés
- Métriques Prometheus
- Métriques et traces OpenTelemetry Protocol (OTLP)
- 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 les journaux système et les métriques système à Logging et Monitoring. Google Cloud Managed Service pour Prometheus gère la collecte des métriques tierces et définies par l'utilisateur.
- Utilisez des packages de métriques d'observabilité pour mieux comprendre l'état de vos applications et des ressources de cluster. Par exemple, les 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 métriques Prometheus, vous pouvez utiliser le side-car Prometheus pour envoyer les métriques à Cloud Monitoring.
Si votre service Cloud Run écrit des métriques OTLP, vous pouvez utiliser un side-car OpenTelemetry. Pour obtenir un exemple, consultez le tutoriel sur la collecte de métriques OTLP à l'aide du side-car.