Corréler les entrées de journal

Dans l'explorateur de journaux, vous pouvez corréler les entrées de journal associées à la même trace pour les regrouper et les afficher ensemble, ce qui simplifie les opérations de dépannage sur une requête. Lorsque vous corrélez des entrées de journal en définissant le champ trace dans l'objet LogEntry, l'explorateur de journaux affiche les entrées de journal enfants imbriquées sous leur entrée de journal de requête parente.

Quand les entrées de journal peuvent-elles être corrélées ?

Pour que les entrées de journal soient corrélées, chacune d'elles doit inclure le champ trace. Lorsque vous instrumentez une application avec OpenTelemetry, les ID de trace et de span sont extraits du contexte de trace et inclus dans les données de journal OTLP envoyées à votre projet. Si vous utilisez des Google Cloud exportateurs, ils extraient également ces champs. Vous pouvez également définir le champ trace manuellement.

Les Google Cloud services suivants capturent les données de trace et écrivent des entrées de journal qui incluent des informations de trace :

  • Environnement standard App Engine
  • Fonctions Cloud Run
  • Cloud Run

De plus, les environnements Compute Engine et Google Kubernetes Engine capturent et incluent des données de trace lorsqu'ils utilisent l'agent Ops ou le collecteur OpenTelemetry.

Pour savoir comment instrumenter votre application afin de collecter des données de trace, consultez la section Instrumenter pour Cloud Trace.

Exigences de corrélation

Pour que l'explorateur de journaux puisse corréler une collection d'entrées de journal, celles-ci doivent répondre aux exigences suivantes :

  • Le champ trace de l'objet LogEntry est défini sur une chaîne dans l'un des formats suivants :

    TRACE_ID
    

    ou

    projects/PROJECT_ID/traces/TRACE_ID
    

    Dans les expressions précédentes, PROJECT_ID correspond à l'ID de votre projet et TRACE_ID à l'ID de la trace.

  • La valeur du champ trace est la même dans toutes les entrées de journal.

  • Chaque entrée de journal a une valeur logName différente.

  • L'horodatage de l'entrée de journal parente n'est pas postérieur à celui d'une entrée de journal enfant.

Avant de commencer

Pour obtenir les autorisations nécessaires pour utiliser l'explorateur de journaux afin d'afficher les entrées de journal, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Pour afficher les entrées de journal dans le bucket _Required et celles de la vue _Default dans le bucket _Default, ou pour sélectionner un champ d'application de journal : Lecteur de journaux (roles/logging.viewer) sur votre projet, dossier ou organisation.
  • Pour afficher toutes les entrées de journal dans les _Required et _Default buckets: lecteur de journaux privés (roles/logging.privateLogViewer) sur votre projet, dossier ou organisation.

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.

Afficher et rechercher des entrées de journal corrélées dans l'explorateur de journaux

Pour afficher et rechercher des entrées de journal à l'aide d'une structure parent-enfant, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la 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. Dans le menu Corréler par, sélectionnez le nom du journal parent. Par exemple, sélectionnez request_log pour les applications App Engine.

    Le volet Résultats de la requête affiche une ligne pour chaque entrée de journal correspondant au nom du journal parent.

    Pour afficher les entrées de journal corrélées, cliquez sur Développer cette entrée de journal:

    Affichage des entrées de journal corrélées.

    La capture d'écran précédente montre une entrée de journal parente comportant deux entrées de journal enfants.

    Si vous développez une entrée de journal parente et qu'aucune entrée de journal enfant ne s'affiche, cela signifie qu'aucune autre entrée de journal dans la plage temporelle de la requête ne partage cet ID de trace.

  3. (Facultatif) Saisissez un terme de recherche ou mettez à jour l'expression de requête pour filtrer ou rechercher les entrées de journal corrélées.

    Par exemple, si vous saisissez "app log message" dans la barre de recherche et cliquez sur Exécuter la requête, le volet Résultats de la requête n'affiche que les entrées de journal qui contiennent le texte "app log message".

Étape suivante