Choisir une approche d'instrumentation

Cette page contient des recommandations pour instrumenter votre application sur différentes plates-formes Google Cloud, telles que Google Kubernetes Engine (GKE) et Cloud Run. Si votre application n'est pas encore instrumentée, suivez les recommandations ci-dessous pour savoir comment instrumenter votre application afin d'envoyer des données de télémétrie à Google Cloud. Les recommandations figurant sur cette page ne sont pas les seules solutions, et d'autres approches peuvent fonctionner. Pour obtenir des conseils supplémentaires, contactez l'assistance Google Cloud.

Des recommandations sont proposées pour les éléments suivants:

Pour plus d'informations sur les exemples d'instrumentation, consultez les documents répertoriés dans la section Exemples de code.

GKE

Pour obtenir des informations générales sur GKE, consultez la page Présentation de GKE.

Type Recommandation
Métriques

Nous vous recommandons d'utiliser Google Cloud Managed Service pour Prometheus.

Pour l'instrumentation, effectuez l'une des opérations suivantes:

Traces

Procédez comme suit :

  1. Utilisez le SDK OpenTelemetry et l'exportateur OTLP pour votre langage.
  2. Configurez le collecteur OpenTelemetry pour envoyer des traces OTLP à Google Cloud.
Journaux

Configurez votre application pour générer des journaux structurés JSON vers stdout et stderr. Pour obtenir la liste des frameworks, consultez la page Frameworks de journalisation recommandés.

GKE collecte automatiquement les journaux écrits dans stdout et stderr. Pour en savoir plus, consultez la page À propos des journaux GKE.

Compute Engine

Pour obtenir des informations générales sur Compute Engine, consultez la page Instances de machines virtuelles.

Type Recommandation
Métriques et traces

Procédez comme suit :

  1. Utilisez le SDK OpenTelemetry et l'exportateur OTLP pour votre langage.
  2. utiliser l'agent Ops pour collecter des métriques et des traces. Pour obtenir un exemple, consultez la section Collecter les métriques et les traces OpenTelemetry Protocol (OTLP).

Par ailleurs, si vous souhaitez configurer uniquement la collecte pour les métriques au format Prometheus, vous pouvez utiliser le récepteur Prometheus de l'agent Ops pour collecter les métriques instrumentées à l'aide des bibliothèques clientes Prometheus ou du SDK OpenTelemetry.

Journaux

Procédez comme suit :

  1. Configurez votre application pour générer des journaux structurés JSON dans un fichier. Pour obtenir la liste des frameworks, consultez la page Frameworks de journalisation recommandés.
  2. installer l'agent Ops et configurer un récepteur. Pour obtenir un exemple, consultez la section Récepteurs de journalisation.

Cloud Run

Pour obtenir des informations générales sur Cloud Run, consultez la page Qu'est-ce que Cloud Run ?

Type Recommandation
Métriques et traces

Procédez comme suit :

  1. Utilisez le SDK OpenTelemetry et l'exportateur OTLP pour votre langage.
  2. Configurer le side-car OpenTelemetry pour collecter des métriques et des traces. Pour obtenir un exemple, consultez la section Écrire des métriques OTLP à l'aide d'un side-car OpenTelemetry.
  3. Définissez le processeur à toujours allouer dans Cloud Run. Étant donné que l'instrumentation OpenTelemetry effectue un traitement en arrière-plan, nous recommandons d'utiliser un processeur toujours alloué pour les services Cloud Run instrumentés. Pour en savoir plus, consultez la section Allocation de processeur (services).

Par ailleurs, si vous souhaitez uniquement configurer la collecte pour les métriques au format Prometheus, vous pouvez utiliser le side-car Prometheus pour Cloud Run afin de collecter des métriques instrumentées à l'aide de bibliothèques clientes Prometheus ou du SDK OpenTelemetry.

Journaux

Configurez votre application pour générer des journaux structurés JSON vers stdout et stderr. Pour obtenir la liste des frameworks, consultez la page Frameworks de journalisation recommandés.

Cloud Run collecte automatiquement les journaux écrits dans stdout et stderr. Pour en savoir plus, consultez la section Écrire des journaux de conteneur.

Cloud Run Functions

Pour obtenir des informations générales sur les fonctions Cloud Run, consultez la page Présentation des fonctions Cloud Run.

Type Recommandation
Métriques L'écriture directe des métriques n'est pas disponible dans Cloud Run Functions Pour générer des métriques, nous vous recommandons d'utiliser des métriques basées sur les journaux.
Traces Utilisez le SDK et l'exportateur Cloud Trace pour votre langage.
Journaux

Configurez votre application pour générer des journaux structurés JSON vers stdout et stderr. Pour obtenir la liste des frameworks, consultez la page Frameworks de journalisation recommandés.

Les fonctions Cloud Run collectent automatiquement les journaux écrits dans stdout et stderr. Pour en savoir plus, consultez la page Afficher et écrire des journaux de fonction Cloud Run.

App Engine

Pour obtenir des informations générales sur App Engine, consultez la page Présentation d'App Engine.

Type Recommandation
Métriques Utilisez le SDK et l'exportateur Cloud Monitoring pour votre langage.
Traces Utilisez le SDK et l'exportateur Cloud Trace pour votre langage.
Journaux

Configurez votre application pour générer des journaux structurés JSON vers stdout et stderr. Pour obtenir la liste des frameworks, consultez la page Frameworks de journalisation recommandés.

App Engine collecte automatiquement les journaux écrits dans stdout et stderr. Pour en savoir plus, consultez la section Écrire et afficher des journaux.

Frameworks de journalisation recommandés

Pour collecter les journaux, nous vous recommandons d'utiliser un framework pouvant être configuré pour générer des objets JSON sérialisés vers stdout, stderr ou vers un fichier. L'agent Logging, intégré ou installé, extrait le fichier et écrit des journaux structurés pour Cloud Logging. Pour écrire des données de journal, nous vous recommandons de procéder comme suit:

Exemples de code

Pour obtenir des exemples de code montrant comment instrumenter votre application pour envoyer des données de télémétrie à Google Cloud, consultez les pages suivantes:

Références à OpenTelemetry

Cette section fournit des liens vers le SDK OpenTelemetry et les exportateurs pour OTLP, Cloud Trace et Cloud Monitoring.

Références générales:

Go

Java

JavaScript

Python