Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Activation de la corrélation entre suivis et journaux
Vous pouvez activer la corrélation entre suivis et journaux dans la vigie applicative. Cette fonctionnalité insère automatiquement les identifiants de suivi et d’intervalle dans les journaux concernés de l’application. Ainsi, lorsque vous ouvrez la page de détails d’un suivi dans la console de la vigie applicative, les entrées de journaux associées (le cas échéant) s’affichent automatiquement avec le suivi en cours au bas de la page.
Par exemple, supposons que vous remarquiez un pic de latence dans un graphique de latence. Vous pouvez sélectionner le point correspondant sur le graphique pour charger les informations de diagnostic associées à ce moment précis. Vous sélectionnez ensuite le suivi correspondant pour obtenir plus d’informations. Lorsque vous consultez les informations de suivi, vous pouvez faire défiler l’écran vers le bas pour voir les journaux associés au suivi. Ces journaux peuvent révéler des motifs récurrents ou des codes d’erreur associés aux problèmes ayant provoqué le pic de latence.
Pour établir la corrélation entre les suivis et les journaux, la vigie applicative s’appuie sur :
Instrumentation automatique Logger MDC
pour Java. Instrumentation de journalisation OpenTelemetry
pour Python. Les instrumentations automatiques Pino
, Winston ou Bunyan pour Node.js.
Toutes ces instrumentations sont fournies par la communauté OpenTelemetry. La vigie applicative les utilise pour injecter les contextes de suivi, comme l’identifiant de suivi et l’identifiant d’intervalle, dans les journaux de l’application. Pour activer cette fonctionnalité, vous devez modifier manuellement la configuration de journalisation afin d’activer l’instrumentation automatique.
Selon l’architecture sur laquelle votre application s’exécute, il peut aussi être nécessaire de définir une variable d’environnement pour activer la corrélation entre suivis et journaux, en plus de suivre les étapes décrites dans cette section.
Sur Amazon EKS, aucune autre étape n’est nécessaire.
Sur Amazon ECS, aucune autre étape n’est nécessaire.
Sur Amazon EC2, reportez-vous à l’étape 4 de la procédure décrite dans Étape 3 : instrumenter votre application et la démarrer.
Après avoir activé la corrélation entre suivis et journaux,
Exemples de configuration de la corrélation entre suivis et journaux
Cette section présente des exemples de configuration de la corrélation entre suivis et journaux dans différents environnements.
Spring Boot pour Java
Supposons que vous disposiez d’une application Spring Boot dans un dossier appelé custom-app. La configuration de l’application est généralement un fichier YAML appelé custom-app/src/main/resources/application.yml, qui pourrait ressembler à ceci :
spring: application: name: custom-app config: import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ...
Pour activer la entre suivis et journaux, ajoutez la configuration de journalisation suivante.
spring: application: name: custom-app config: import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ... logging: pattern: level: trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p
Logback pour Java
Dans la configuration de journalisation (par exemple logback.xml), insérez le contexte de suivi trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p dans le pattern de l’encodeur. Par exemple, la configuration suivante ajoute le contexte de suivi avant le message du journal.
<appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>app.log</file> <append>true</append> <encoder> <pattern>trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p - %m%n</pattern> </encoder> </appender>
Pour plus d’informations sur les encodeurs dans Logback, consultez la section Encodeurs
Log4j2 pour Java
Dans la configuration de journalisation (par exemple log4j2.xml), insérez le contexte de suivi trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p dans PatternLayout. Par exemple, la configuration suivante ajoute le contexte de suivi avant le message du journal.
<Appenders> <File name="FILE" fileName="app.log"> <PatternLayout pattern="trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p - %m%n"/> </File> </Appenders>
Pour plus d’informations sur la disposition des modèles dans Log4j2, consultez Disposition des modèles
Log4j pour Java
Dans la configuration de journalisation (par exemple log4j.xml), insérez le contexte de suivi trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p dans PatternLayout. Par exemple, la configuration suivante ajoute le contexte de suivi avant le message du journal.
<appender name="FILE" class="org.apache.log4j.FileAppender">; <param name="File" value="app.log"/>; <param name="Append" value="true"/>; <layout class="org.apache.log4j.PatternLayout">; <param name="ConversionPattern" value="trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p - %m%n"/>; </layout>; </appender>;
Pour plus d’informations sur la disposition des modèles dans Log4j, consultez Disposition des modèles
Python
Définissez la variable d’environnement OTEL_PYTHON_LOG_CORRELATION sur true lors de l’exécution de votre application. Pour plus d’informations, consultez Activation de l’injection de contexte de suivi
Node.js
Pour plus d’informations sur l’activation de l’injection de contexte de suivi dans Node.js pour les bibliothèques de journalisation compatibles, consultez la documentation NPM des instrumentations automatiques Pino