Associer des entrées de journal à des traces

Ce document explique comment associer une entrée de journal à une trace. Pour effectuer cette association, vous devez définir un champ dans une entrée de journal. En utilisant les champs de trace dans la LogEntry structure—spanId, trace, et traceSampled— vous pouvez corréler les journaux et les traces pour améliorer la résolution des problèmes distribués.

Associer manuellement une entrée de journal à une trace ou à un délai

Si vous utilisez l'API Cloud Logging pour écrire des données de journal ou si vous écrivez des données de journal structurées, vous pouvez associer une entrée de journal à une trace ou à un segment. L'entrée de journal peut également enregistrer si la trace a été échantillonnée. Pour savoir comment l' agent Ops convertit les données de journal structurées en champs dans une LogEntry, consultez la section Champs spéciaux dans les charges utiles structurées.

Pour associer une entrée de journal à une trace, définissez le champ trace dans l'objet LogEntry:

  • Format préféré : TRACE_ID
  • Ancien format : projects/PROJECT_ID/traces/TRACE_ID

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

Pour associer une entrée de journal à un segment lorsque vous utilisez l'API Cloud Logging, définissez le champ spanId dans l'objet LogEntry sur l'encodage hexadécimal à 16 caractères de l'ID du segment. Par exemple, pour associer une entrée de journal à un segment dont l'ID est 74, définissez l'ID du segment sur 000000000000004a.

Pour indiquer que vous utilisez l'échantillonnage de trace et que la trace a été échantillonnée pour le stockage lors de l'écriture de l'entrée de journal, définissez le champ traceSampled dans l'objet LogEntry. Lorsque vous utilisez l'échantillonnage de trace, il est possible qu'une entrée de journal soit créée lorsque la trace elle-même n'est pas capturée.

Associer automatiquement une entrée de journal à une trace ou à un segment

Lorsque vous utilisez les bibliothèques clientes Cloud Logging, les champs de trace d'une entrée de journal peuvent parfois être définis automatiquement. Les valeurs définies manuellement prévalent sur les valeurs définies automatiquement.

Par exemple, si vous utilisez OpenTelemetry et que vous vous connectez à partir d'un délai OpenTelemetry actif, les champs de trace de l'entrée de journal sont renseignés à partir du OpenTelemetry Context.

Dans certains cas, lorsqu'une requête HTTP est présente, les champs de trace peuvent être définis à partir du W3C traceparent champ ou de la X-Cloud-Trace-Context valeur dans la requête HTTP.

Pour en savoir plus sur le remplissage automatique des champs de trace dans les entrées de journal, consultez la documentation de la bibliothèque cliente spécifique à la langue suivante :

Afficher les journaux

Vous pouvez afficher l'entrée de journal d'une trace à côté du graphique en cascade ou dans l'Explorateur de journaux. Lorsque vous utilisez l'Explorateur de journaux, il est automatiquement limité à la plage de codes temporels de la trace. Si aucune entrée de journal n'est disponible, la visionneuse de journaux affiche le message No entries found matching current filter.

Dans le volet Détails de la trace, effectuez l'une des opérations suivantes pour afficher l'entrée de journal de la trace :

  • Pour afficher les entrées du journal trace à côté du graphique en cascade, accédez au graphique et cliquez sur Afficher les journaux. Lorsque l'option Afficher les journaux n'apparaît pas, aucune entrée de journal n'est disponible.

  • Pour afficher l'entrée de journal dans l'Explorateur de journaux, cliquez sur Afficher à côté du libellé Journal dans la section Détails. Lorsque vous disposez d'une trace Cloud Load Balancing, cliquez sur Afficher à côté du libellé Journal de VM.

Pour en savoir plus sur l'affichage des entrées de journal dans Cloud Logging, consultez la section Utiliser l'explorateur de journaux.

Autorisations d'affichage des journaux

Pour afficher les entrées de journal, vous devez disposer de l'autorisation logging.logEntries.list dans votre projet. Cette autorisation est accordée par les rôles Visionneuse de journaux et Lecteur de projets de la gestion de l'authentification et des accès (IAM).

Pour afficher les journaux d'instance de VM, vous devez disposer de l'autorisation compute.instances.get dans votre projet. Cette autorisation est accordée par les rôles IAM de lecteur de réseau Compute Engine et de lecteur de projet.