Aucun log corrélé ne s'affiche dans le volet de l'ID de trace

Présentation

Le volet d’une trace contient des informations sur la trace, le host et les logs corrélés.

Volet d'une trace sans aucun log trouvé

Quatre types de logs différents peuvent s’afficher sur le volet d’une trace :

  • trace_id : affiche les logs associés à l’ID de trace correspondant.
  • host : affiche les logs générés par le host de la trace durant son intervalle.
  • container_id : affiche les logs générés par le conteneur de la trace durant son intervalle.
  • pod_name : affiche les logs générés par le pod de la trace durant son intervalle.
Menu déroulant des logs d'une trace affichant les options Trace ID et Host

Il arrive parfois que la section Logs du volet de trace soit vide. Ce guide présente les étapes à suivre pour corriger le problème.

Options d’infrastructure

Si la section Logs est vide lorsque l’option host, container_id ou pod_name est sélectionnée, accédez au Log Explorer et vérifiez les points suivants :

  1. Le host/conteneur/pod qui a émis la trace transmet bien des logs.
  2. Il existe des logs pour ce host dans l’intervalle de la trace.
  3. Le timestamp des logs est correctement défini. Pour en savoir plus, consultez la section Timestamp incorrect dans les logs.

Option Trace ID

Si la section Logs est vide lorsque l’option trace_id est sélectionnée, assurez-vous que vos logs contiennent un attribut trace_id standard. Si ce n’est pas le cas, corrélez vos traces et vos logs de manière à :

  1. Extraire l’ID de trace dans un attribut de log

  2. Remapper cet attribut vers l’attribut trace_id réservé

    Pour les logs JSON, les étapes 1 et 2 se font automatiquement. Le traceur injecte l’ID de trace et l’ID de span dans les logs, qui sont ensuite automatiquement remappés par les remappeurs d’attributs réservés.

    Si ce processus ne fonctionne pas comme prévu, assurez-vous que le nom de l’attribut contenant l’ID de trace est bien dd.trace_id et que l’attribut est correctement défini dans la section Trace ID des attributs réservés.

    Page de pré-traitement des logs JSON avec la section Trace Id mise en évidence

    Pour les logs au format brut (lorsque vous recueillez les logs à l’aide d’une intégration de log pour un langage spécifique), définissez l’attribut source sur le langage, tel que java, python, ruby, etc. L’intégration met automatiquement en corrélation les traces et les logs.

    Cet exemple montre le pipeline d’intégration Java :

    Pipeline des logs Java avec le remappeur d'ID de trace mis en évidence

    Il est possible que le format des logs ne soit pas reconnu par le pipeline d’intégration. Dans ce cas, dupliquez le pipeline et suivez le guide de dépannage pour le parsing afin de faire en sorte que le pipeline accepte le format des logs.

    Pour les logs au format brut qui n’ont pas été recueillis via une intégration :

    1. Assurez-vous que la règle de parsing personnalisée extrait les ID de trace et de span sous forme de chaîne, comme dans l’exemple suivant :

      Parser personnalisé avec l'ID de trace mis en évidence dans les sections Échantillon de logs, Règle de parsing et Extraction
    2. Ensuite, définissez un remappeur de traces sur l’attribut extrait pour le remapper vers l’ID de trace officiel des logs.

Une fois les ID correctement injectés et remappés vers vos logs, les logs corrélés à la trace s’affichent dans le volet détaillé.

Volet d'une trace affichant les logs corrélés dans la section Logs

Pour aller plus loin