La suite Google Cloud Operations comprend des services d'observabilité qui vous aident à comprendre le comportement, l'état et les performances de vos applications. La visibilité sur le comportement des applications et sur la connexion des composants vous permet d'anticiper, d'identifier et de réagir plus rapidement et plus efficacement aux modifications inattendues.
Ce document contient les informations suivantes:
- Présentation de l'observabilité et de l'importance de l'observabilité pour maintenir vos applications disponibles et fiables.
- Comment la suite Google Cloud Operations vous aide à surveiller et à maintenir l'état des applications et de l'infrastructure.
- Premiers pas avec l'observabilité dans Google Cloud.
À propos de l'observabilité
L'observabilité est une approche globale de collecte et d'analyse de données de télémétrie afin de comprendre l'état de votre environnement. Les données de télémétrie sont des métriques, des journaux, des traces et d'autres données générées par vos applications et l'infrastructure d'application qui fournissent des informations sur l'état et les performances des applications.
- Métriques
- Les métriques sont des données numériques sur l'état ou les performances que vous mesurez à intervalles réguliers dans le temps, telles que l'utilisation du processeur et la latence des requêtes. Les modifications inattendues apportées à une métrique peuvent indiquer un problème à examiner. Au fil du temps, vous pouvez également analyser les modèles de métriques pour mieux comprendre les modèles d'utilisation et anticiper les besoins en ressources.
- 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 une collection d'entrées de journal horodatées et chaque entrée de journal décrit un événement à un moment précis.
Un journal contient souvent des informations enrichies et détaillées qui vous aident à comprendre ce qui s'est passé avec une partie spécifique de votre application. Toutefois, les journaux ne fournissent pas de bonnes informations sur la relation entre une modification d'un composant de votre application et une activité dans un autre composant. Les traces peuvent aider à combler ce fossé.
- Traces
Les traces représentent le chemin d'une requête sur les parties de votre application distribuée. Une entrée de métrique ou de journal dans un composant d'application qui a déclenché une notification d'alerte peut être un symptôme d'un problème provenant d'un autre composant. Les traces vous permettent de suivre le flux d'une requête et d'examiner les données de latence pour vous aider à identifier la cause première d'un problème.
- Other data
Vous pouvez obtenir des insights supplémentaires en analysant les métriques, les journaux et les traces dans le contexte d'autres données. Par exemple, une étiquette correspondant à la gravité d'une alerte ou au numéro client associé à une requête dans les journaux fournit un contexte utile pour le dépannage et le débogage.
La surveillance, le débogage et le dépannage des applications distribuées peuvent s'avérer difficiles, car de nombreux systèmes et composants logiciels sont souvent utilisés, souvent à l'aide d'une combinaison de logiciels Open Source et commerciaux.
Les outils d'observabilité vous aident à gérer cette complexité en collectant des données significatives et en fournissant des fonctionnalités permettant d'explorer, d'analyser et de mettre en corrélation les données. Un environnement observable vous permet d'effectuer les opérations suivantes:
- Détecter les problèmes de manière proactive avant qu'ils n'affectent vos utilisateurs
- Résoudre les problèmes connus et nouveaux
- Déboguer les applications pendant le développement
- Planifier et comprendre l'impact des modifications apportées à vos applications
- Explorer les données pour découvrir de nouveaux insights
En résumé, un environnement observable vous aide à maintenir la fiabilité des applications. Une application est fiable lorsqu'elle répond à vos objectifs actuels de disponibilité et de résilience aux pannes.
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 suivants sont entre autres abordés :
- Objectifs de niveau de service
- Surveillance des systèmes distribués
- Alerting
- Dépannage
- Test de fiabilité
Suite Google Cloud Operations
Les services de la suite Google Cloud Operations vous aident à collecter, analyser et corréler les données de télémétrie. Ils intègrent également des valeurs par défaut intégrées pour vous aider à démarrer plus rapidement, comme les tableaux de bord et les règles d'alerte par défaut.
Cloud Monitoring, Cloud Logging et Cloud Trace font partie des services activés par défaut lorsque vous créez un projet Google Cloud.
Surveillance : utilisez les métriques collectées pour surveiller l'état et les performances, identifier les tendances et les problèmes, et signaler les changements de comportement.
- Collectez automatiquement les métriques pour la plupart des services Google Cloud
- Collectez des métriques du système et des applications à partir d'applications tierces
- Visualisez et analysez les métriques avec des tableaux de bord par défaut ou personnalisés.
- Utilisez la surveillance synthétique pour tester les performances de vos applications.
- Définissez des objectifs de niveau de service (SLO) pour surveiller la fiabilité du service.
- Recevez des alertes en cas de problème.
Journalisation: utilisez les journaux collectés pour déboguer, dépanner et obtenir des insights sur vos applications.
- Collecte automatique des journaux pour la plupart des services Google Cloud.
- Collectez automatiquement les journaux d'audit pour la plupart des services Google Cloud.
- Collecter des journaux à partir de logiciels tiers
- Explorez et analysez les journaux.
- Utilisez Log Analytics pour effectuer une analyse de vos journaux et d'autres données avec BigQuery. Par exemple, vous pouvez utiliser BigQuery pour comparer les URL de vos journaux avec un ensemble de données public contenant des URL malveillantes connues.
- Créez des métriques à partir des journaux.
- Recevez des alertes lorsqu'un message spécifié apparaît dans un journal.
Error Reporting: affichez et analysez les erreurs des services cloud en cours d'exécution:
- Agrégez les erreurs détectées par Error Reporting dans les entrées de journal et affichez les journaux associés
- Agrégez les erreurs que vos applications envoient à l'API Error Reporting
Trace: affichez et analysez le flux et la latence des requêtes d'application lors du débogage et du dépannage.
- Suivez la propagation des requêtes dans vos applications.
- Collectez des données de latence à partir de vos applications et affichez les graphiques des données.
- Affichez les rapports sur la latence qui montrent les dégradations de performances.
- Recevez des alertes en cas de modification du profil de latence de vos applications.
- Annotez les traces avec des attributs personnalisés.
- Exportez des traces vers BigQuery afin de pouvoir les explorer avec d'autres données.
Cloud Profiler: analysez l'utilisation de processeur et de mémoire de vos applications afin de pouvoir identifier les possibilités d'amélioration des performances.
- Collectez des données d'utilisation du processeur et d'allocation de mémoire à partir de vos applications.
- Identifiez les parties d'une application qui consomment le plus de ressources et obtenez des insights sur les performances globales de l'application.
Premiers pas
Cette section décrit les étapes à suivre pour vous familiariser avec les fonctionnalités d'observabilité dans Google Cloud.
Essayer les guides de démarrage rapide
Testez les guides de démarrage rapide pour vous familiariser avec les services de la suite Cloud Operations.
Consulter les données collectées automatiquement
La plupart des services Google Cloud génèrent automatiquement des métriques et des journaux prédéfinis. Cela signifie que vous pouvez commencer à examiner 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 métriques système et des journaux par défaut. Vous configurez des données supplémentaires.
- Cloud Functions et App Engine génèrent automatiquement des métriques, des journaux et des traces.
Vous pouvez également représenter graphiquement les métriques collectées dans l'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, créez des tableaux de bord personnalisés. Par exemple, vous pouvez créer un tableau de bord incluant des journaux, des 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 métriques système et les journaux système de base sans l'agent Ops.
Installez l'agent Ops pour collecter des données de télémétrie supplémentaires (journaux, métriques et traces) à partir de vos instances et applications Compute Engine, à des fins de dépannage, de surveillance des performances et d'alerte.
- 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 des journaux système et des métriques système à Logging et Monitoring. Google Cloud Managed Service pour Prometheus gère la collecte de 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 du cluster. Par exemple, les métriques du plan de contrôle sont utiles pour créer des SLO afin de surveiller la disponibilité du service et la latence.
- Surveiller des applications tierces telles que Postgres, MongoDB et Redis. Ces intégrations fournissent des tableaux de bord préconfigurés et des règles d'alerte.
Configurer Cloud Run pour collecter des données personnalisées
Vous pouvez déployer un service Cloud Run qui signale des métriques, des journaux et des traces personnalisés à Managed Service pour Prometheus à l'aide du side-car OpenTelemetry. Pour obtenir un exemple, consultez le tutoriel sur la collecte de métriques personnalisées à l'aide du side-car.
Instrumenter vos applications
Cloud Run, Cloud Functions et App Engine fournissent un traçage automatique. Vous n'avez donc pas besoin de modifier votre code pour générer des traces à partir du code exécuté dans ces environnements.
Pour collecter des traces à partir d'applications exécutées dans d'autres environnements Google Cloud, vous devez instrumenter les applications. L'instrumentation est le code que vous ajoutez pour émettre des données de télémétrie.
De nombreux langages de programmation disposent d'interfaces d'écriture de journaux standards que vous pouvez configurer afin d'utiliser Logging.
- Découvrez les options d'instrumentation pour les traces.
- En savoir plus sur la collecte de métriques définies par l'utilisateur
- Apprenez-en plus sur l'écriture des journaux d'application.