Présentation du collecteur OpenTelemetry conçu par Google

Cet ensemble de documents décrit le collecteur OpenTelemetry conçu par Google et explique comment le déployer pour collecter les traces, les métriques et les journaux du protocole OpenTelemetry (OTLP) à partir d'applications instrumentées, puis exporter ces données vers Google Cloud Observability et d'autres backends.

Le collecteur OpenTelemetry construit par Google est une version Open Source, prête à la production, du collecteur OpenTelemetry en amont, qui est compilé avec des composants du collecteur OpenTelemetry en amont. OpenTelemetry, qui fait partie de la Cloud Native Computing Foundation, fournit des API, des bibliothèques et des SDK Open Source pour collecter des traces, des métriques et des journaux distribués à des fins de surveillance des applications.

Le collecteur OpenTelemetry conçu par Google vous permet d'envoyer des traces, des métriques et des journaux OTLP corrélés à Google Cloud Observability et à d'autres backends à partir d'applications instrumentées à l'aide des SDK OpenTelemetry. Le collecteur capture également les métadonnées des ressources Google Cloud , ce qui vous permet de mettre en corrélation les données de performances de l'application avec les données de télémétrie de l'infrastructure. L'utilisation du collecteur Google avec Google Cloud Observability fournit des insights pour améliorer les performances de vos applications et de votre infrastructure. Pour en savoir plus sur le collecteur, consultez la section Description du collecteur OpenTelemetry créé par Google.

Utiliser le collecteur OpenTelemetry conçu par Google

Vous pouvez utiliser le collecteur conçu par Google pour collecter les données de télémétrie de vos applications exécutées sur Kubernetes (y compris Google Kubernetes Engine), Container-Optimized OS ou des conteneurs autonomes. Les documents de cette section expliquent comment configurer et déployer le collecteur Google dans les environnements suivants:

Si vous n'avez pas d'application prête à utiliser le collecteur, vous pouvez déployer la démonstration OpenTelemetry avec le collecteur Google. Pour en savoir plus, consultez Essayer la démonstration OpenTelemetry.

Pour en savoir plus sur l'utilisation de l'instrumentation OpenTelemetry pour générer des traces, des métriques et des journaux à partir de vos applications, consultez les documents suivants:

Description du collecteur OpenTelemetry créé par Google

Le collecteur OpenTelemetry créé par Google est créé à l'aide de composants et d'outils OpenTelemetry en amont, tout en étant entièrement créé et récupéré à partir de l'infrastructure de compilation, test et publication de Google (Artifact Registry). Le collecteur Google est compatible avec une version du collecteur OpenTelemetry à partir du dépôt en amont. Il est également hébergé en tant qu'image Docker pour un déploiement flexible sur n'importe quel système basé sur des conteneurs, y compris Kubernetes et GKE.

Le collecteur conçu par Google fournit un package sélectionné par Google avec les composants dont la plupart des utilisateurs auront besoin pour une expérience d'observabilité enrichie sur Google Cloud. Vous n'avez pas besoin de sélectionner des composants et de créer manuellement votre propre collecteur. Le collecteur créé par Google vous permet d'effectuer les actions suivantes:

  • Collectez des métadonnées pour les ressources Google Cloud afin de pouvoir mettre en corrélation les données de performances de l'application avec les données de télémétrie de l'infrastructure.
  • Acheminez les données de télémétrie vers Google Cloud Observability ou le backend de votre choix à l'aide d'exportateurs, y compris des backends compatibles nativement avec OpenTelemetry.
  • Simplifiez l'intégration grâce aux configurations recommandées et aux bonnes pratiques d'autosurveillance, y compris les vérifications de l'état et le traitement par lot.
  • Utilisez l'image Docker hébergée pour un déploiement flexible sur n'importe quel système basé sur des conteneurs, y compris Kubernetes et GKE.

Bonnes pratiques

OpenTelemetry gère une liste de bonnes pratiques pour configurer le collecteur OpenTelemetry et pour faire évoluer le collecteur. Cette section propose des recommandations supplémentaires.

Utiliser l'extension de vérification de l'état

L'extension de vérification de l'état active une URL HTTP qui peut être explorée pour vérifier l'état du collecteur OpenTelemetry. L'utilisation de cette extension offre les avantages suivants:

  • Détection précoce des problèmes: les vérifications d'état facilitent la surveillance proactive de l'état du collecteur, ce qui permet de détecter les problèmes potentiels avant qu'ils n'aient un impact négatif sur les données de télémétrie. Cette mesure préventive permet de garantir la fiabilité du pipeline d'observabilité.
  • Amélioration du dépannage: en cas de problème, les vérifications d'état fournissent des insights précieux sur l'état actuel du collecteur. Ces informations simplifient le processus de diagnostic et de résolution, ce qui réduit les temps d'arrêt et simplifie le dépannage.
  • Fiabilité améliorée: la surveillance continue de l'état du collecteur garantit un fonctionnement cohérent et évite les défaillances inattendues. Cette mesure proactive améliore la fiabilité globale du système d'observabilité et réduit le risque de perte de données ou d'écarts dans les données de télémétrie.

Sur Kubernetes et GKE, l'extension de vérification de l'état est compatible avec les vérifications d'activité et d'aptitude Kubernetes. Pour en savoir plus sur la configuration de ces vérifications, consultez la section Bonnes pratiques Kubernetes: configurer des vérifications de l'état avec des vérifications d'aptitude et d'activité.

Sur Cloud Run, une seule extension de vérification de l'état peut servir de point de terminaison pour les vérifications de démarrage et d'activité dans la configuration de votre service Cloud Run.

Utiliser le processeur par lots

Le processeur par lot collecte des traces, des métriques ou des journaux, puis les regroupe en lots pour les transmettre. L'utilisation du processeur par lot offre les avantages suivants:

  • Minimise les connexions sortantes: en regroupant les transmissions de données en lots, le collecteur OpenTelemetry réduit considérablement le nombre de connexions sortantes. Cette approche consolidée réduit l'utilisation des quotas et peut réduire les coûts réseau globaux.
  • Compression des données améliorée: le traitement par lot permet une compression des données plus efficace, ce qui réduit la taille globale des données transmises.
  • Flexibilité de la stratégie de traitement par lot: la prise en charge du traitement par lot basé sur la taille et le temps permet d'optimiser pour différents scénarios. Le traitement par lot basé sur la taille garantit que les lots atteignent une certaine taille avant d'être envoyés, tandis que le traitement par lot basé sur le temps envoie des lots après un intervalle de temps spécifique. Cette flexibilité vous permet d'ajuster la stratégie de traitement par lot en fonction des caractéristiques spécifiques de vos données et des exigences particulières de votre application.

Notes de version

Le collecteur OpenTelemetry créé par Google est synchronisé avec le collecteur OpenTelemetry en amont. La version actuelle est v0.122.1. L'image Docker correspondante, stockée dans Artifact Registry, est us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.122.1. Pour chaque nouvelle version, les modifications les plus pertinentes pour les Google Cloud utilisateurs sont incluses sur cette page.

  • 0.122.1:

    • Collecteur OpenTelemetry construit par Google: mise à jour vers la version 0.122.1 du collecteur OpenTelemetry Core et la version 0.122.0 du collecteur OpenTelemetry Contrib.
    • Ajout d'un nouveau composant: googleclientauthextension
    • Communiqués sur les problèmes connus:
    • Si vous utilisez l'exportation OTLP de l'auto-télémétrie du collecteur, notez le problème suivant: https://github.com/open-telemetry/opentelemetry-collector/issues/12701
    • Répertoire OpenTelemetry Collector Core : notes de version
    • Répertoire OpenTelemetry Collector Contrib : notes de version
  • 0.121.0:

    • Collecteur OpenTelemetry créé par Google: version initiale
    • Répertoire OpenTelemetry Collector Core : notes de version
    • Répertoire OpenTelemetry Collector Contrib : notes de version

Assistance

Pour tous les problèmes côté client du collecteur OpenTelemetry créé par Google, y compris les demandes de fonctionnalités, les rapports de bugs et les questions générales, ouvrez un problème dans le dépôt GitHub approprié. Ces dépôts sont surveillés par Google. Les problèmes sont triés et traités dans la mesure du possible.

  • Dépôt de packages du collecteur OpenTelemetry construit par Google pour les problèmes liés aux éléments suivants:

    • Préparation
    • Déploiement sur Google Cloud
    • Authentification dans Google Cloud
    • Demandes d'ajout de nouveaux composants OpenTelemetry
  • Dépôt OpenTelemetry Collector Contrib pour les problèmes liés aux éléments suivants:

    • Composants OpenTelemetry spécifiques à Google, par exemple :
      • googlecloudexporter
      • googlemanagedprometheusexporter
      • googleclientauthextension
      • resourcedetectionprocessor
    • Composants OpenTelemetry non spécifiques à Google gérés par la communauté en amont

Pour les problèmes liés à l'utilisation des services et API d'observabilité Google Cloud par le collecteur OpenTelemetry conçu par Google, comme les erreurs de serveur ou les quotas, contactez l'assistance client Cloud.

Tarifs

Le déploiement et l'utilisation du collecteur OpenTelemetry conçu par Google sont gratuits.

Lorsque vous envoyez des données de télémétrie à Google Cloud, vous êtes facturé en fonction du volume d'ingestion. Pour en savoir plus sur les coûts associés à l'ingestion de traces, de journaux et de métriques Google Cloud Managed Service pour Prometheus, consultez la page Tarifs de Google Cloud Observability.

Essayer la démo OpenTelemetry

Cette section explique comment déployer et exécuter la démo OpenTelemetry pourGoogle Cloud avec le collecteur OpenTelemetry conçu par Google.

Cette rubrique est facultative. Si vous êtes prêt à intégrer le collecteur Google à vos propres déploiements, consultez les documents suivants:

Avant de commencer

La démonstration OpenTelemetry nécessite un cluster Kubernetes sur lequel la fédération d'identité de charge de travail est configurée. Pour savoir comment configurer la fédération d'identité de charge de travail pour la démonstration OpenTelemetry, consultez la section Conditions préalables pour Workload Identity.

Mettre à jour la démonstration pour utiliser le collecteur Google

Par défaut, la démonstration OpenTelemetry utilise le collecteur OpenTelemetry en amont. Pour utiliser le collecteur OpenTelemetry créé par Google à la place, procédez comme suit:

  1. Clonez le dépôt de démonstration OpenTelemetry:

    git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
    
  2. Accédez au répertoire kubernetes.

    cd kubernetes
    
  3. Modifiez le fichier opentelemetry-demo.yaml pour remplacer la ligne à utiliser pour l'image du collecteur. La ligne se présente comme suit, bien que la version puisse être différente:

    image: "otel/opentelemetry-collector-contrib:0.108.0"
    

    Remplacez la valeur du champ image: par us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.122.1, de sorte que la ligne ressemble à celle-ci, puis enregistrez le fichier:

    image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.122.1"
    

Déployer la démo

Déployez la démonstration en appliquant le fichier opentelemetry-demo.yaml mis à jour:

kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml

Se connecter à la démonstration

Une fois la configuration mise à jour appliquée, vous pouvez transférer les données vers un port local. Par exemple, pour vous connecter à la démonstration sur localhost:8080, exécutez la commande suivante:

kubectl port-forward --n otel-demo svc/opentelemetry-demo-frontendproxy 8080:8080

Vous pouvez ensuite utiliser votre navigateur pour vous connecter à la démonstration sur localhost:8080.

Afficher la télémétrie

La démonstration OpenTelemetry envoie des métriques, des traces et des journaux à Google Cloud à l'aide du collecteur OpenTelemetry conçu par Google. Pour en savoir plus sur la télémétrie spécifique envoyée par la démonstration, consultez la section Afficher la télémétrie dans la documentation de la démonstration.

Afficher vos métriques

Le collecteur OpenTelemetry conçu par Google collecte des métriques Prometheus que vous pouvez afficher à l'aide de l'explorateur de métriques. Les métriques collectées dépendent de l'instrumentation de l'application, bien que le collecteur Google écrive également certaines métriques automatiques.

Pour afficher les métriques collectées par le collecteur OpenTelemetry conçu par Google, procédez comme suit :
  1. Dans la console Google Cloud, accédez à la page Explorateur de métriques :

    Accéder à l'explorateur de métriques

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la console Google Cloud, sélectionnez votre projet Google Cloud. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  3. Dans l'élément Métrique, développez le menu Sélectionner une métrique, saisissez Prometheus Target dans la barre de filtre, puis utilisez les sous-menus pour sélectionner un type de ressource et des métriques spécifiques :
    1. Dans le menu Ressources actives, sélectionnez Cible Prometheus.
    2. Pour sélectionner une métrique, utilisez les menus Catégories de métriques actives et Métriques actives. Les métriques collectées par le collecteur OpenTelemetry conçu par Google portent le préfixe prometheus.googleapis.com.
    3. Cliquez sur Appliquer.
  4. Configurez le mode d'affichage des données.

    Lorsque les mesures d'une métrique sont cumulatives, l'explorateur de métriques normalise automatiquement les données mesurées par période d'alignement, ce qui permet d'afficher un taux dans le graphique. Pour en savoir plus, consultez la section Genres, types et conversions.

    Lorsque des valeurs entières ou doubles sont mesurées, par exemple avec les métriques counter, l'explorateur de métriques additionne automatiquement toutes les séries temporelles. Pour modifier ce comportement, définissez le premier menu de l'entrée Agrégation sur Aucun.

    Pour plus d'informations sur la configuration d'un graphique, consultez la page Sélectionner des métriques lors de l'utilisation de l'explorateur de métriques.

Afficher vos traces

Pour afficher vos données de trace, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Explorateur Trace.

    Accéder à Explorateur Trace

    Vous pouvez également accéder à cette page à l'aide de la barre de recherche.

  2. Dans la barre d'outils de la console Google Cloud, sélectionnez votre projet Google Cloud. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion du dossier compatible avec les applications.
  3. Dans la section du tableau de la page, sélectionnez une ligne.
  4. Dans le graphique de Gantt du panneau Détails des traces, sélectionnez un segment.

    Un panneau s'ouvre et affiche des informations sur la requête tracée. Ces informations incluent la méthode, le code d'état, le nombre d'octets et le user-agent de l'appelant.

  5. Pour afficher les journaux associés à cette trace, sélectionnez l'onglet Logs & Events (Journaux et événements).

    Cet onglet affiche les journaux individuels. Pour afficher les détails de l'entrée de journal, développez-la. Vous pouvez également cliquer sur Afficher les journaux et afficher le journal à l'aide de l'explorateur de journaux.

Pour en savoir plus sur l'utilisation de l'explorateur Cloud Trace, consultez la page Rechercher et explorer des traces.

Afficher les journaux

L'explorateur de journaux vous permet d'inspecter vos journaux et d'afficher les traces associées, lorsqu'elles existent.

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux :

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Recherchez une entrée de journal dans votre application instrumentée. Pour afficher les détails, développez l'entrée de journal.

  3. Cliquez sur Traces sur une entrée de journal contenant un message de trace, puis sélectionnez Afficher les détails des traces.

    Un panneau Trace details (Informations sur la trace) s'ouvre et affiche la trace sélectionnée.

Pour en savoir plus sur l'utilisation de l'explorateur de journaux, consultez la page Afficher les journaux à l'aide de l'explorateur de journaux.