Présentation de l'observabilité des microservices

Les outils d'observabilité des microservices vous permettent d'instrumenter vos applications pour collecter et présenter des données de télémétrie dans Cloud Monitoring, Cloud Logging et Cloud Trace à partir de charges de travail gRPC déployées sur Google Cloud et ailleurs.

Cette documentation est destinée aux propriétaires de services gRPC, aux ingénieurs en fiabilité des sites et à toute personne utilisant les données de télémétrie pour le dépannage et l'optimisation des charges de travail gRPC.

L'observabilité encapsule les plug-ins OpenCensus pour les métriques, les traces et la journalisation gRPC dans un seul plug-in unifié, sans exposer les dépendances. L'observabilité des microservices utilise des données d'observabilité intégrées à Cloud Monitoring, Cloud Logging et Cloud Trace. La documentation fournit des instructions pour intégrer des plug-ins d'observabilité dans vos applications gRPC.

Pour vous aider à collecter des informations et à déboguer vos applications, l'observabilité des microservices inclut les fonctionnalités suivantes :

  • Génération de journaux d'événements RPC au niveau du transport
  • Compatibilité avec le traçage distribué
  • Compatibilité avec Cloud Monitoring, y compris les tableaux de bord prédéfinis
  • Requêtes suggérées par Cloud Logging
  • Étiquettes de ressources et étiquettes personnalisées

Fonctionnalités

Cette section décrit les fonctionnalités d'observabilité des microservices.

Intégration de télémétrie

Les packages de plug-in d'observabilité pour chaque langage gRPC (C++, Go et Java) sont intégrés par défaut à Google Cloud Observability. Avec une configuration minimale, le plug-in récupère les métadonnées de votre projet et de votre déploiement, puis configure les quantités par défaut pour le traçage, les métriques et la génération de données de journalisation.

Inspecter les événements de niveau de transport RPC

Le cycle de vie d'un appel de procédure à distance (RPC) peut contenir des événements de métadonnées, y compris des en-têtes et des suivis ; les événements de messages ; et les événements d'état, y compris l'état "OK" et l'état d'erreur, ainsi que les événements de fin. Lorsque vous utilisez l'observabilité des microservices, vous pouvez inspecter les détails de chaque type d'événement. Vous pouvez inspecter la longueur des messages sérialisés, l'autorité, les adresses client/serveur et si le client ou le serveur a annulé le RPC.

Avec les paramètres explicites, l'observabilité des microservices peut activer la journalisation de la charge utile pour les messages ou les en-têtes. Vous pouvez définir des limites de taille pour les journaux de charge utile, les messages de contrôle ou les journaux de charge utile d'en-tête séparément. Vous pouvez également spécifier le groupe cible de méthodes avec ou sans caractères génériques.

Compatibilité du traçage distribué pour les RPC

L'architecture de serveur peut autoriser un RPC à effectuer une distribution ramifiée en plusieurs appels ou des requêtes distinctes passant par les composants. L'observabilité des microservices utilise le traçage distribué pour faciliter l'analyse et le dépannage des systèmes complexes. Le produit d'observabilité des microservices est compatible avec les applications gRPC pour démarrer les traces, générer des délais et propager le contexte de traçage.

Capturer des mesures pour la surveillance des métriques

Le plug-in offre une compatibilité propriétaire pour un large éventail de mesures au niveau des messages, des RPC ou des méthodes, allant du nombre de messages aux tailles de messages, en passant par les latences. Les mesures sont importées dans Cloud Monitoring. Vous pouvez explorer les métriques collectées à l'aide de l'explorateur de métriques de Cloud Monitoring, qui dispose d'un tableau de bord avec un ensemble de graphiques préexistants. Vous pouvez également présenter les métriques dans vos propres tableaux de bord personnalisés.

Mise en corrélation des traces et des journaux

Les traces vous aident à identifier les erreurs et les problèmes dans vos systèmes, tandis que les entrées de journal vous aident à identifier les détails des erreurs et des problèmes. Dans l'ensemble, les traces et les journaux vous donnent un aperçu détaillé des erreurs ou des problèmes, ce qui vous permet de mieux comprendre les RPC qui couvrent différents systèmes. L'observabilité des microservices met automatiquement en corrélation les journaux avec les traces, qui sont échantillonnées en fonction des décisions d'échantillonnage en amont ou des taux d'échantillonnage définis par l'utilisateur.

Étiquettes de ressources et étiquettes personnalisées

Pour vous permettre d'explorer les données d'observabilité de manière plus efficace, l'observabilité des microservices fournit des étiquettes de ressources par défaut et permet à votre application de définir des étiquettes personnalisées. Les étiquettes de ressources sont des paires clé/valeur spécifiques au déploiement qui annotent l'emplacement de la charge de travail, par exemple le nom du nœud Compute Engine ou l'espace de noms Google Kubernetes Engine.

Les étiquettes personnalisées fournissent un mécanisme permettant d'associer des informations personnalisées comme suit :

  • En tant qu'étiquettes de délais pour les données de traçage
  • En tant qu'étiquettes de métriques pour les données de métriques
  • En tant qu'étiquettes d'entrée de journal pour les données de journalisation

Les étiquettes personnalisées sont utiles lorsque vous souhaitez inclure des versions sources ou des noms de services canoniques. Vous pouvez les utiliser pour ajouter des informations spécifiques à l'utilisateur, ce qui permet d'identifier des données d'observabilité spécifiques dans vos journaux, vos métriques et vos traces.

Requêtes suggérées

L'observabilité des microservices fournit automatiquement plusieurs requêtes suggérées dans Cloud Logging. Pour obtenir des informations complètes, consultez la section Requêtes suggérées.

Architecture

Le schéma suivant illustre la façon dont les données d'observabilité sont collectées et diffusées par les microservices :

Collecte et diffusion de données d'observabilité des microservices
Collecte et diffusion des données d'observabilité des microservices (cliquez pour agrandir)

Commencez par spécifier la configuration d'observabilité sur votre charge de travail gRPC. La configuration d'observabilité consiste en des champs que vous définissez dans une variable d'environnement. La configuration définit les éléments suivants :

  • Délais de trace exportés vers Cloud Trace.
  • Données de métriques exportées vers Cloud Monitoring.
  • Événements RPC exportés vers Cloud Logging.

Vous pouvez ensuite afficher ces informations dans les tableaux de bord personnalisés de Cloud Monitoring et obtenir des suggestions de requêtes dans Cloud Logging. Vous pouvez également exporter des informations depuis Cloud Trace, Cloud Monitoring et Cloud Logging vers les plates-formes tierces de votre choix.

Tarification

Les tarifs d'observabilité des microservices sont identiques à ceux de Google Cloud Observability. L'utilisation de Cloud Trace, de Cloud Logging et de Cloud Monitoring avec les plug-ins d'observabilité des microservices ne fait pas l'objet d'une facturation distincte. Pour en savoir plus, consultez les tarifs de Google Cloud Observability.

Étapes suivantes