Migrer vers Observability Analytics

Si vous utilisez des récepteurs pour exporter des données de trace vers BigQuery, alors ce document vous concerne. L'utilisation de récepteurs pour exporter des données de trace n'est plus recommandée. Nous vous recommandons plutôt d'utiliser Observability Analytics, qui est compatible avec le même langage de requête SQL que BigQuery. Ce document explique comment migrer d'une solution basée sur un récepteur vers une solution qui utilise Observability Analytics. Il explique également comment interroger vos données de trace à l'aide des services BigQuery.

Pour commencer à utiliser Observability Analytics, consultez la section Interroger et analyser des traces.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Pour obtenir les autorisations nécessaires pour charger la page Observability Analytics , exécuter des requêtes et créer un ensemble de données associé, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

  9. Dans la Google Cloud console, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la Google Cloud console, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

Migrer vers Observability Analytics

  1. Effectuez les actions listées dans la section Avant de commencer de ce document. Ces actions incluent l'activation de l'API Observability.

  2. Vérifiez que vous avez accès à vos données de trace à l'aide d'Observability Analytics :

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

      Accéder à l'Analyse 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. Dans le menu Vues, accédez à la section Traces , puis sélectionnez _Trace.Spans._AllSpans.

      Le volet Schéma est mis à jour et affiche le schéma.

      Si vous ne voyez pas de vue nommée _Trace.Spans._AllSpans, cela signifie que votre Google Cloud projet ne contient pas de bucket d'observabilité nommé _Trace. Pour savoir comment résoudre ce problème, consultez Échec de l'initialisation du stockage des traces.

    3. Dans le volet Schéma, sélectionnez Requête.

      Le champ de l'éditeur de requête est mis à jour. La clause FROM liste une entrée semblable à la suivante :

      `PROJECT_ID.us._Trace.Spans._AllSpans`
      
    4. Dans la barre d'outils, sélectionnez Exécuter la requête.

      Si la barre d'outils affiche Exécuter dans BigQuery, cliquez sur Paramètres, puis sélectionnez Analytics (par défaut).

    Vous avez vérifié que vous pouvez interroger vos données de trace à l'aide de la page Observability Analytics.

  3. Facultatif : Si vous souhaitez associer vos données de trace à d'autres données d'entreprise disponibles dans BigQuery, créez un ensemble de données BigQuery associé. Pour en savoir plus, consultez Interroger un ensemble de données BigQuery associé.

  4. Supprimez les récepteurs de trace et les ensembles de données inutiles :

    1. Pour répertorier les récepteurs de trace existants, exécutez la gcloud alpha trace sinks list commande :

      gcloud alpha trace sinks list
      
    2. Pour chaque récepteur, exécutez la gcloud alpha trace sinks delete commande :

      gcloud alpha trace sinks delete SINK_NAME
      
    3. Facultatif : Supprimez tous les ensembles de données BigQuery inutiles. Pour savoir comment supprimer un ensemble de données BigQuery, consultez Supprimer des ensembles de données.

Comparaison des schémas

Cette section fournit des informations sur les différences entre les schémas d'exportation basés sur Observability Analytics et sur un récepteur.

Nom Analytics Ancienne
ID de la trace trace_id extendedFields.traceId
ID du délai span_id span.spanId
ID de segment parent parent_span_id span.parentSpanId
Nom du segment name span.displayName.value
Type de segment kind
Pour connaître les valeurs, consultez OpenTelemetry : SpanKind.
span.spanKind
Pour connaître les valeurs, consultez la page de référence de l'API Cloud Trace SpanKind page.
Heure de début du segment start_time span.startTime
Heure de fin du segment end_time span.endTime
Attributs

Les attributs de segment, de ressource et d'instrumentation ont chacun un format unique. Ces champs ont le type de données JSON BigQuery. Exemples :

  • attributes["somekey"]
  • resource.attributes["somekey"]
  • instrumentation_scope.attributes["somekey"]

Tous les attributs utilisent le même format : span.attributes.attributeMap.ATTRIBUTE_KEY

Exemples :

  • span.attributes.attributeMap._http_method
  • span.attributes.attributeMap.g_co_agent
  • span.attributes.attributeMap.rpc_service
  • span.attributes.attributeMap.rpc_method

Étape suivante