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 OpenTelemetry Protocol (OTLP) à partir d'applications instrumentées, puis exporter ces données vers Google Cloud Observability et d'autres backends.
Le collecteur OpenTelemetry conçu par Google est une version Open Source prête pour la production du collecteur OpenTelemetry en amont, qui est conçu 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 permettant de collecter des traces, des métriques et des journaux distribués pour la surveillance des applications.
Le collecteur OpenTelemetry intégré à 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 . Vous pouvez ainsi corréler les données sur les performances des applications avec les données de télémétrie de l'infrastructure. L'utilisation du collecteur conçu par 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 Description du collecteur OpenTelemetry conçu par Google.
Utiliser le collecteur OpenTelemetry intégré à Google
Vous pouvez utiliser le collecteur conçu par Google pour collecter des données de télémétrie à partir 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émo OpenTelemetry avec le collecteur conçu par Google. Pour en savoir plus, consultez Essayer la démo OpenTelemetry.
Pour savoir comment utiliser l'instrumentation OpenTelemetry afin de générer des traces, des métriques et des journaux à partir de vos applications, consultez les documents suivants :
- Présentation de l'instrumentation
- Choisir une approche d'instrumentation pour votre application
- Générer des traces et des métriques avec l'instrumentation OpenTelemetry
Description du collecteur OpenTelemetry intégré à Google
Le collecteur OpenTelemetry intégré à Google est conçu à l'aide de composants et d'outils OpenTelemetry en amont, tout en étant créé et récupéré entièrement à partir de l'infrastructure de compilation, de test et de publication de Google (Artifact Registry). Le collecteur conçu par Google est compatible avec une version du collecteur OpenTelemetry provenant 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 organisé par Google avec les composants dont la plupart des utilisateurs auront besoin pour une expérience d'observabilité riche sur Google Cloud. Vous n'avez pas besoin de sélectionner des composants ni de créer votre propre collecteur manuellement. Le collecteur conçu par Google vous permet d'effectuer les actions suivantes :
- Collectez des métadonnées pour les ressources Google Cloud afin de pouvoir corréler les données sur les performances des applications 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 les backends compatibles en mode natif avec OpenTelemetry.
- Simplifiez l'intégration grâce à des configurations recommandées et à une autosurveillance des bonnes pratiques, y compris des vérifications de l'état et du 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 tient à jour une liste des bonnes pratiques pour configurer le collecteur OpenTelemetry et pour mettre à l'échelle le collecteur. Cette section fournit quelques recommandations supplémentaires.
Utiliser l'extension de vérification de l'état
L'extension de vérification de l'état permet d'utiliser une URL HTTP qui peut être testée pour vérifier l'état du collecteur OpenTelemetry. L'utilisation de cette extension présente les avantages suivants :
- Détection précoce des problèmes : les vérifications de l'é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 d'assurer la fiabilité du pipeline d'observabilité.
- Dépannage amélioré : en cas de problème, les vérifications de l'état fournissent des informations précieuses 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 rationalise les efforts de 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 de lacunes 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 savoir comment configurer ces vérifications, consultez 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 de lot
Le processeur de lot collecte les traces, les métriques ou les journaux, et les regroupe en lots pour la transmission. L'utilisation du processeur de traitement par lot offre les avantages suivants :
- Minimisation des connexions sortantes : en regroupant les transmissions de données dans des 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 potentiellement diminuer les coûts réseau globaux.
- Compression des données améliorée : le traitement par lot permet une compression plus efficace des données, 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 sur le temps permet d'optimiser 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 les lots après l'écoulement d'un intervalle de temps spécifique. Cette flexibilité vous permet d'affiner la stratégie de traitement par lot pour l'adapter aux caractéristiques spécifiques de vos données et aux exigences particulières de votre application.
Utiliser le fournisseur googlesecretmanager
Le fournisseur googlesecretmanager
vous permet de stocker les informations sensibles nécessaires aux fichiers de configuration dans Secret Manager, un service conçu spécifiquement pour stocker, accéder et gérer les données sensibles de manière sécurisée. L'utilisation du fournisseur googlesecretmanager
offre les avantages suivants :
- Sécurité renforcée : vos fichiers de configuration ne contiennent pas d'informations sensibles, comme des mots de passe.
- Réduction du risque d'exposition : Secret Manager récupère les secrets lors de l'initialisation du collecteur, ce qui empêche l'enregistrement accidentel de secrets en texte brut dans les journaux.
Pour savoir comment utiliser ce fournisseur, consultez Gérer les secrets dans la configuration du collecteur.
Notes de version
La version du collecteur OpenTelemetry intégré à Google est synchronisée avec celle du collecteur OpenTelemetry en amont. La version actuelle est v0.129.0. 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.129.0. Pour chaque nouvelle version, les modifications les plus pertinentes pour les utilisateurs de Google Cloud sont incluses sur cette page.
0.129.0 :
- Collecteur OpenTelemetry conçu par Google : passez à la version v0.129.0 d'OpenTelemetry Collector Core et d'OpenTelemetry Collector Contrib.
- Avis sur les problèmes connus :
- Récepteur Prometheus : l'authentification de base pour les URL ne fonctionnait plus (lien vers le problème) ;
- Ce problème affecte les versions 0.127.0, 0.128.0 et 0.129.0.
- Pour limiter les risques, utilisez la version 0.126.0 ou antérieure.
- Récepteur Prometheus : l'authentification de base pour les URL ne fonctionnait plus (lien vers le problème) ;
- Dépôt Core du collecteur OpenTelemetry : Notes de version (v0.129.0)
- Dépôt OpenTelemetry Collector Contrib : Notes de version (v0.129.0)
0.128.0 :
- Collecteur OpenTelemetry conçu par Google : passez à la version v0.128.0 d'OpenTelemetry Collector Core et d'OpenTelemetry Collector Contrib.
- Dépôt OpenTelemetry Collector Core : Notes de version (v0.127.0)
- Dépôt OpenTelemetry Collector Contrib : Notes de version (v0.127.0)
0.127.0 :
- Collecteur OpenTelemetry conçu par Google : passez à la version v0.127.0 d'OpenTelemetry Collector Core et d'OpenTelemetry Collector Contrib.
- Dépôt OpenTelemetry Collector Core : Notes de version (v0.127.0)
- Dépôt OpenTelemetry Collector Contrib : Notes de version (v0.127.0)
0.126.0 :
- Collecteur OpenTelemetry conçu par Google : passez à la version v0.126.0 du collecteur OpenTelemetry Core et du collecteur OpenTelemetry Contrib.
- Ajout de composants :
- Processeurs :
metricstarttime
- Fournisseurs :
googlesecretmanager
. Pour savoir comment utiliser ce fournisseur afin d'éliminer les secrets en texte brut dans la configuration de votre collecteur, consultez Gérer les secrets dans la configuration du collecteur.
- Processeurs :
- Dépôt principal du collecteur OpenTelemetry :
- Dépôt OpenTelemetry Collector Contrib :
0.124.1 :
- Collecteur OpenTelemetry conçu par Google : passez à la version 0.124.0 du collecteur OpenTelemetry Core et à la version 0.124.1 du collecteur OpenTelemetry Contrib.
- Ajout de composants :
- Destinataires :
dockerstats
,jmx
,redis
,statsd
,syslog
- Processeurs :
metricsgeneration
- Destinataires :
- Dépôt Core du collecteur OpenTelemetry :
- Dépôt OpenTelemetry Collector Contrib :
0.122.1 :
- Collecteur OpenTelemetry conçu par Google : passez à 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
- Avis sur les problèmes connus :
- Si vous utilisez l'exportation OTLP de la télémétrie du collecteur, notez le problème suivant lié à OpenTelemetry Collector : https://github.com/open-telemetry/opentelemetry-collector/issues/12701.
- Dépôt Core du collecteur OpenTelemetry : notes de version
- Dépôt OpenTelemetry Collector-Contrib : notes de version
0.121.0 :
- Collecteur OpenTelemetry conçu par Google : version initiale
- Dépôt Core du collecteur OpenTelemetry : notes de version
- Dépôt OpenTelemetry Collector-Contrib : notes de version
Assistance
Pour tous les problèmes liés au client OpenTelemetry Collector conçu 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, et les problèmes sont triés et résolus au mieux.
Dépôt de packages du collecteur OpenTelemetry conçu 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
Le 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
- Composants OpenTelemetry spécifiques à Google, par exemple :
Pour les problèmes liés à l'utilisation des services et des API Google Cloud Observability par Google-Built OpenTelemetry Collector, comme les erreurs de serveur ou les quotas, contactez l'assistance Google Cloud.
Tarifs
Le déploiement et l'utilisation de Google-Built OpenTelemetry Collector 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émonstration OpenTelemetry pourGoogle Cloud avec le collecteur OpenTelemetry intégré à Google.
Cette rubrique est facultative. Si vous êtes prêt à intégrer le collecteur conçu par Google dans vos propres déploiements, consultez les documents suivants :
- Déployer le collecteur sur Google Kubernetes Engine
- Déployer le collecteur sur Container-Optimized OS
- Déployer le collecteur sur Cloud Run
Avant de commencer
La démo 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émo OpenTelemetry, consultez Conditions requises pour Workload Identity.
Mettre à jour la démo pour utiliser le collecteur Google
Par défaut, la démo OpenTelemetry utilise le collecteur OpenTelemetry en amont. Pour utiliser le collecteur OpenTelemetry intégré à Google, procédez comme suit :
Clonez le dépôt de démonstration OpenTelemetry :
git clone https://github.com/GoogleCloudPlatform/opentelemetry-demo.git
Accédez au répertoire
kubernetes
.cd kubernetes
Modifiez le fichier
opentelemetry-demo.yaml
pour remplacer la ligne de l'image du collecteur à utiliser. La ligne ressemble à ce qui suit, même si la version peut être différente :image: "otel/opentelemetry-collector-contrib:0.108.0"
Remplacez la valeur du champ
image:
parus-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0
, de sorte que la ligne ressemble à ce qui suit, puis enregistrez le fichier :image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.129.0"
Déployer la démo
Déployez la démo en appliquant le fichier opentelemetry-demo.yaml
mis à jour :
kubectl apply --namespace otel-demo -f opentelemetry-demo.yaml
Se connecter à la démo
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émo 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émo sur localhost:8080
.
Afficher la télémétrie
La démo OpenTelemetry envoie des métriques, des traces et des journaux à Google Cloud à l'aide du collecteur OpenTelemetry intégré à Google. Pour en savoir plus sur la télémétrie spécifique envoyée par la démo, consultez Afficher la télémétrie dans la documentation de la démo.
Afficher vos métriques
Le collecteur OpenTelemetry intégré à Google collecte les 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 conçu par Google écrive également certaines métriques propres.
Pour afficher les métriques collectées par le collecteur OpenTelemetry intégré à Google, procédez comme suit :-
Dans la console Google Cloud , accédez à la page leaderboard 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.
- 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.
- 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 :- Dans le menu Ressources actives, sélectionnez Cible Prometheus.
- 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 intégré à Google ont le préfixe
prometheus.googleapis.com
. - Cliquez sur Appliquer.
- 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:
-
Dans la console Google Cloud , accédez à la page Explorateur Trace :
Vous pouvez également accéder à cette page à l'aide de la barre de recherche.
- 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.
- Dans la section du tableau de la page, sélectionnez une ligne.
Dans le graphique de Gantt du panneau Détails des traces, sélectionnez un segment.
Un panneau contenant des informations sur la requête tracée s'affiche. Ces informations incluent la méthode, le code d'état, le nombre d'octets et le user-agent de l'appelant.
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.
-
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.
Recherchez une entrée de journal dans votre application instrumentée. Pour afficher les détails, développez l'entrée de journal.
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.