Aktifkan jejak untuk mencatat korelasi - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aktifkan jejak untuk mencatat korelasi

Anda dapat mengaktifkan korelasi trace to log di Application Signals. Ini secara otomatis menyuntikkan jejak IDs dan rentang IDs ke log aplikasi yang relevan. Kemudian, ketika Anda membuka halaman detail jejak di konsol Sinyal Aplikasi, entri log yang relevan (jika ada) yang berkorelasi dengan jejak saat ini secara otomatis muncul di bagian bawah halaman.

Misalnya, Anda melihat lonjakan dalam grafik latensi. Anda dapat memilih titik pada grafik untuk memuat informasi diagnostik untuk titik waktu itu. Anda kemudian memilih jejak yang relevan untuk mendapatkan informasi lebih lanjut. Saat Anda melihat informasi jejak, Anda dapat menggulir ke bawah untuk melihat log yang terkait dengan jejak. Log ini mungkin mengungkapkan pola atau kode kesalahan yang terkait dengan masalah yang menyebabkan lonjakan latensi.

Untuk mencapai korelasi log jejak, Sinyal Aplikasi bergantung pada hal berikut:

Semua isntrumentasi ini disediakan oleh komunitas. OpenTelemetry Sinyal Aplikasi menggunakannya untuk menyuntikkan konteks jejak seperti ID jejak dan ID rentang ke dalam log aplikasi. Untuk mengaktifkan ini, Anda harus mengubah konfigurasi logging secara manual untuk mengaktifkan instrumentasi otomatis.

Bergantung pada arsitektur tempat aplikasi Anda berjalan, Anda mungkin juga harus menyetel variabel lingkungan untuk mengaktifkan korelasi log jejak, selain mengikuti langkah-langkah di bagian ini.

Setelah Anda mengaktifkan korelasi log jejak,

Lacak contoh penyiapan korelasi log

Bagian ini berisi contoh pengaturan korelasi log jejak di beberapa lingkungan.

Spring Boot untuk Java

Misalkan Anda memiliki aplikasi Spring Boot di folder bernamacustom-app. Konfigurasi aplikasi biasanya berupa file YAMM bernama custom-app/src/main/resources/application.yml yang mungkin terlihat seperti ini:

spring: application: name: custom-app config: import: optional:configserver:${CONFIG_SERVER_URL:http://localhost:8888/} ...

Untuk mengaktifkan korelasi log jejak, tambahkan konfigurasi logging berikut.

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 untuk Java

Dalam konfigurasi logging (seperti logback.xml), masukkan konteks jejak trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p ke dalam pattern Encoder. Misalnya, konfigurasi berikut menambahkan konteks jejak sebelum pesan log.

<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>

Untuk informasi selengkapnya tentang encoder di Logback, lihat Encoders dalam dokumentasi Logback.

Log4j2 untuk Java

Dalam konfigurasi logging (seperti log4j2.xml), masukkan konteks jejak trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p ke dalamPatternLayout. Misalnya, konfigurasi berikut menambahkan konteks jejak sebelum pesan log.

<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>

Untuk informasi selengkapnya tentang tata letak pola di Log4j2, lihat Pattern Layout dalam dokumentasi Log4j2.

Log4j untuk Java

Dalam konfigurasi logging (seperti log4j.xml), masukkan konteks jejak trace_id=%mdc{trace_id} span_id=%mdc{span_id} trace_flags=%mdc{trace_flags} %5p ke dalamPatternLayout. Misalnya, konfigurasi berikut menambahkan konteks jejak sebelum pesan log.

<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>;

Untuk informasi selengkapnya tentang tata letak pola di Log4j, lihat Tata Letak Pola Kelas dalam dokumentasi Log4j.

Python

Atur variabel OTEL_PYTHON_LOG_CORRELATION lingkungan true saat menjalankan aplikasi Anda. Untuk informasi selengkapnya, lihat Mengaktifkan injeksi konteks jejak dalam dokumentasi Python OpenTelemetry .

Node.js

Untuk informasi selengkapnya tentang mengaktifkan injeksi konteks jejak di Node.js untuk pustaka logging yang mendukungnya, lihat dokumentasi penggunaan NPM dari instrumen otomatis Pino, Winston, atau Bunyan untuk Node.js.