Production Debugging & Incident Response Playbook · Pelajaran

Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry)

Dapatkan pengalaman langsung menggunakan alat dan standar pelacakan terdistribusi populer seperti OpenTelemetry untuk pemantauan yang efektif.

Pelajaran 2 dari 411 langkah

Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry) adalah pelajaran Production Debugging & Incident Response Playbook gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Production Debugging & Incident Response Playbook, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Production Debugging & Incident Response Playbook mencakup 4 pelajaran total.

Pengenalan Alat Penelusuran

Dalam sistem terdistribusi, satu permintaan pengguna sering kali melewati banyak layanan. Memahami perjalanannya sangat penting untuk melakukan pelacakan kesalahan.

Pencatatan manual di berbagai layanan dapat menjadi sangat merepotkan. Di sinilah alat penelusuran khusus berperan, dengan mengotomatiskan pengumpulan dan visualisasi jalur permintaan tersebut.

Berkenalan dengan OpenTelemetry (OTel)

OpenTelemetry (OTel) adalah kumpulan API, SDK, dan alat sumber terbuka yang tidak bergantung pada vendor.

  • OpenTelemetry dirancang untuk menstandarkan cara Anda mengumpulkan data telemetri: jejak, metrik, dan log.
  • Untuk penelusuran, OTel membantu Anda menginstrumentasikan aplikasi agar menghasilkan dan mengekspor data jejak ke sistem pengelola pilihan Anda.

Konsep OTel: Tracer & Rentang

Inti penelusuran OTel adalah Tracer dan rentang:

  • Tracer adalah objek yang membuat objek Span.
  • Rentang mewakili satu unit pekerjaan dalam sebuah jejak. Rentang memiliki nama, waktu mulai dan selesai, serta atribut.
  • Rentang dapat disarangkan sehingga membentuk hubungan induk-anak yang menunjukkan alur operasi.

Konsep OTel: Propagasi Konteks

Bagaimana rentang mengetahui bahwa semuanya termasuk dalam permintaan yang sama, bahkan di berbagai layanan?

Hal ini ditangani oleh Propagasi Konteks. OTel memastikan pengenal jejak unik diteruskan bersama permintaan, sehingga rentang-rentang terhubung dan membentuk jejak yang lengkap.

Ini seperti meneruskan kartu identitas khusus bersama sebuah tugas, sehingga semua orang mengetahui bahwa tugas tersebut merupakan bagian dari proyek yang sama.

Menyiapkan OTel untuk Aplikasi Anda

Untuk menggunakan OpenTelemetry, biasanya Anda perlu:

  • Menambahkan SDK OTel ke proyek Anda, misalnya melalui Maven atau npm.
  • Menginisialisasi SDK OTel saat aplikasi dimulai.
  • Mengonfigurasi Pengekspor untuk mengirim data jejak ke sistem pengumpulan.

Penyiapan ini memungkinkan OTel menginstrumentasikan kode Anda secara otomatis atau manual.

Membuat Rentang Pertama Anda

Mari kita lihat contoh dasar Java untuk membuat dan mengakhiri sebuah rentang. Kode ini menggunakan ConsoleSpanExporter untuk mencetak detail rentang ke konsol.

import io.opentelemetry.api.OpenTelemetry;
import io.opentelemetry.api.trace.Span;
import io.opentelemetry.api.trace.Tracer;
import io.opentelemetry.sdk.OpenTelemetrySdk;
import io.opentelemetry.sdk.trace.SdkTracerProvider;
import io.opentelemetry.sdk.trace.export.ConsoleSpanExporter;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;

public class SimpleSpanDemo {
    private static final OpenTelemetry openTelemetry;
    private static final Tracer tracer;

    static {
        // Configure OpenTelemetry SDK with a console exporter
        SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
            .addSpanProcessor(SimpleSpanProcessor.create(ConsoleSpanExporter.create()))
            .build();
        openTelemetry = OpenTelemetrySdk.builder()
            .setTracerProvider(tracerProvider)
            .buildAndRegisterGlobal();
        tracer = openTelemetry.getTracer("my-app", "1.0.0");
    }

    public static void main(String[] args) {
        System.out.println("App starting...");
        Span span = tracer.spanBuilder("processRequest").startSpan();
        try {
            System.out.println("Inside 'processRequest' span.");
            Thread.sleep(100); // Simulate work
            span.setAttribute("request.id", "XYZ123");
            span.setAttribute("user.name", "coddy");
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        } finally {
            span.end();
            System.out.println("Span 'processRequest' ended.");
        }
        System.out.println("App finished.");
    }
}

Memahami Atribut Rentang

Dalam contoh tersebut, kita menggunakan span.setAttribute("key", "value").

Atribut adalah pasangan kunci-nilai yang memberikan konteks terperinci pada rentang Anda. Atribut membantu Anda memahami apa yang terjadi selama unit pekerjaan tersebut.

Contohnya mencakup ID pengguna, parameter permintaan, detail kueri basis data, atau pesan kesalahan. Atribut ini membuat jejak Anda jauh lebih berguna untuk melakukan pelacakan kesalahan.

Menghubungkan Rentang Antar-Layanan

Saat permintaan meninggalkan satu layanan dan memasuki layanan lain, OTel menggunakan penyisip dan pengekstrak untuk mengelola konteks.

  • Layanan pengirim menyisipkan konteks jejak, seperti ID jejak, ke dalam header permintaan.
  • Layanan penerima mengekstrak konteks ini untuk membuat rentang baru yang menjadi anak dari rentang masuk.

Penerusan konteks yang lancar ini sangat penting untuk membangun jejak dari awal hingga akhir di seluruh layanan mikro Anda.

Mengekspor dan Memvisualisasikan Jejak

Setelah aplikasi Anda menghasilkan rentang, Pengekspor OTel mengirimkannya ke sistem pengelola.

Sistem pengelola penelusuran populer seperti Jaeger, Zipkin, atau platform observabilitas komersial, misalnya DataDog dan New Relic, kemudian mengumpulkan dan menyimpan data ini.

Sistem pengelola tersebut menyediakan antarmuka yang canggih untuk memvisualisasikan seluruh jejak, termasuk jalur permintaan melalui semua layanan dan latensinya di setiap tahap.

Pemeriksaan Singkat: Penelusuran OTel

Uji pemahaman Anda tentang kemampuan penelusuran OpenTelemetry.

Rangkuman: Kehebatan OTel

Selamat! Anda telah mempelajari OpenTelemetry dan perannya dalam penelusuran terdistribusi.

  • OTel menyediakan cara standar untuk menginstrumentasikan kode Anda.
  • Konsep utamanya mencakup Tracer, rentang, dan Propagasi Konteks.
  • Anda dapat menambahkan Atribut khusus ke rentang untuk memberikan konteks yang terperinci.
  • Jejak diekspor ke sistem pengelola untuk visualisasi dan analisis yang canggih.

Pengetahuan ini sangat penting untuk memperoleh wawasan mendalam tentang sistem terdistribusi Anda!

Gratis untuk memulai

Belajar Production Debugging & Incident Response Playbook dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry)” gratis?

Ya — teks lengkap “Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Production Debugging & Incident Response Playbook, upgrade ke CoddyKit PRO. Kursus Production Debugging & Incident Response Playbook mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry)”?

Dapatkan pengalaman langsung menggunakan alat dan standar pelacakan terdistribusi populer seperti OpenTelemetry untuk pemantauan yang efektif. Kamu berlatih Production Debugging & Incident Response Playbook dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Production Debugging & Incident Response Playbook?

Tidak diperlukan pengalaman sebelumnya. Production Debugging & Incident Response Playbook di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Production Debugging & Incident Response Playbook ini?

Ya. Setiap pelajaran Production Debugging & Incident Response Playbook menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengantar Pelacakan Terdistribusi
  2. Memanfaatkan Alat Pelacakan (misalnya, OpenTelemetry)
  3. Men-debug Arsitektur Layanan Mikro
  4. Mengorelasikan Jejak, Log, dan Metrik
← Kembali ke Production Debugging & Incident Response Playbook