0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Pelajaran

Pencatatan Terstruktur dan Pelacakan Terdistribusi

Buat penerapan Anda mudah diamati dengan log terstruktur, ID korelasi, dan pelacakan terdistribusi agar Anda dapat men-debug kegagalan lintas layanan dalam alur CI/CD.

Pencatatan Terstruktur dan Pelacakan Terdistribusi adalah pelajaran CI/CD with GitHub Actions & DevOps Pipelines gratis di CoddyKit. Ini adalah pelajaran 4 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 CI/CD with GitHub Actions & DevOps Pipelines, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CI/CD with GitHub Actions & DevOps Pipelines mencakup 4 pelajaran total.

Tiga Pilar Observabilitas

Observabilitas bertumpu pada tiga pilar: metrik, log, dan jejak.

  • Metrik memberi tahu Anda bahwa ada sesuatu yang salah
  • Log memberi tahu Anda apa yang terjadi
  • Jejak memberi tahu Anda di bagian mana dalam alur permintaan hal itu terjadi

Pemantauan alur kerja biasanya dimulai dari metrik; pelajaran ini membahas log dan jejak secara lebih mendalam.

Mengapa Pencatatan Log Terstruktur

Baris log teks biasa sulit ditelusuri. Log terstruktur adalah catatan yang dapat dibaca mesin, biasanya berupa JSON, dengan bidang bernama.

Log terstruktur dapat disaring, digabungkan, dan dijadikan dasar peringatan oleh alat seperti Loki, Elasticsearch, atau Datadog.

Teks Biasa vs Terstruktur

Bandingkan baris yang tidak terstruktur dengan baris yang terstruktur. Versi terstruktur memungkinkan Anda langsung menelusuri status=500.

// Unstructured
Deploy failed for service api at 12:01

// Structured (JSON)
{"level":"error","event":"deploy_failed","service":"api","status":500}

Menghasilkan Log JSON

Sebagian besar bahasa pemrograman memiliki pencatat terstruktur. Gagasan utamanya adalah mencatat objek, bukan string gabungan.

const log = (level, event, fields) =>
  console.log(JSON.stringify({ level, event, ...fields }));
log('info', 'deploy_started', { service: 'api', version: '1.4.2' });

ID Korelasi

Satu penerapan melibatkan banyak langkah dan layanan. ID korelasi (atau ID jejak) adalah nilai unik yang dilampirkan pada setiap baris log untuk satu operasi logis.

Penelusuran berdasarkan ID tersebut akan menyusun kembali seluruh rangkaian kejadian di berbagai komponen.

  - name: Set correlation id
    run: echo "TRACE_ID=$(uuidgen)" >> $GITHUB_ENV

Tingkat Log

Gunakan tingkat log yang konsisten agar Anda dapat menyesuaikan tingkat detail dan peringatan:

  • debug — diagnostik terperinci
  • info — peristiwa normal
  • warn — masalah yang dapat dipulihkan
  • error — kegagalan yang memerlukan perhatian

Berikan peringatan untuk error, ambil sampel info, dan nonaktifkan debug di lingkungan produksi.

Apa Itu Pelacakan Terdistribusi

Pelacakan terdistribusi mengikuti permintaan saat melewati beberapa layanan. Setiap langkah merupakan span; span saling terhubung menjadi satu jejak.

Jejak menunjukkan linimasa dan span mana yang lambat atau mengalami kesalahan, sehingga sangat berguna dalam penerapan layanan mikro.

OpenTelemetry

OpenTelemetry (OTel) adalah standar yang tidak bergantung pada vendor untuk menghasilkan jejak, metrik, dan log.

Instrumentasikan aplikasi Anda dengan SDK OTel dan ekspor datanya ke backend seperti Jaeger, Tempo, atau APM cloud.

import { trace } from '@opentelemetry/api';
const tracer = trace.getTracer('deploy-service');
const span = tracer.startSpan('deploy');
// ... do work
span.end();

Melacak Alur Kerja Itu Sendiri

Anda dapat melacak bukan hanya aplikasi, tetapi juga alur kerja. Alat dapat menghasilkan satu span untuk setiap tugas dan langkah, sehingga Anda dapat melihat tahap CI/CD yang menjadi hambatan.

Hal ini mengubah alur kerja yang panjang menjadi diagram air terjun visual yang menunjukkan penggunaan waktu.

Agregasi Terpusat

Kirim log dan jejak dari setiap tugas dan layanan ke platform pusat. Pelaksana CI bersifat sementara, sehingga log yang tersisa di pelaksana akan hilang setelah eksekusi selesai.

Teruskan log ke penampung log selama eksekusi agar analisis setelah kejadian tetap dapat dilakukan setelah pelaksana tidak tersedia.

Dari Sinyal ke Tindakan

Observabilitas hanya berguna jika mendorong tindakan. Buat dasbor yang menampilkan tingkat kesalahan dan jejak yang lambat, lalu hubungkan pola kritis ke peringatan yang telah Anda konfigurasikan.

Tujuannya adalah agar dari satu peringatan, Anda dapat langsung membuka jejak dan baris log terstruktur yang menjelaskannya.

Pemeriksaan Cepat

Uji pemahaman Anda tentang log dan jejak.

Ringkasan

Anda telah memperdalam observabilitas dengan log dan jejak.

  • Hasilkan log terstruktur (JSON) dengan tingkat yang konsisten
  • Tambahkan ID korelasi untuk mengikuti satu operasi
  • Gunakan pelacakan terdistribusi dan OpenTelemetry untuk menemukan span yang lambat atau gagal
  • Agregasikan semuanya secara terpusat sebelum pelaksana sementara menghilang

Hal ini melengkapi metrik dan peringatan untuk observabilitas alur kerja secara menyeluruh.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pencatatan Terstruktur dan Pelacakan Terdistribusi” gratis?

Ya — teks lengkap “Pencatatan Terstruktur dan Pelacakan Terdistribusi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CI/CD with GitHub Actions & DevOps Pipelines, upgrade ke CoddyKit PRO. Kursus CI/CD with GitHub Actions & DevOps Pipelines mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pencatatan Terstruktur dan Pelacakan Terdistribusi”?

Buat penerapan Anda mudah diamati dengan log terstruktur, ID korelasi, dan pelacakan terdistribusi agar Anda dapat men-debug kegagalan lintas layanan dalam alur CI/CD. Kamu berlatih CI/CD with GitHub Actions & DevOps Pipelines 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 CI/CD with GitHub Actions & DevOps Pipelines?

Tidak diperlukan pengalaman sebelumnya. CI/CD with GitHub Actions & DevOps Pipelines 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 4 dari 4.

Berapa lama pelajaran “Pencatatan Terstruktur dan Pelacakan Terdistribusi” 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 CI/CD with GitHub Actions & DevOps Pipelines ini?

Ya. Setiap pelajaran CI/CD with GitHub Actions & DevOps Pipelines 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. Strategi Pemantauan Pipeline
  2. Mengintegrasikan Layanan Eksternal
  3. Menyiapkan Notifikasi dan Peringatan
  4. Pencatatan Terstruktur dan Pelacakan Terdistribusi
← Kembali ke CI/CD with GitHub Actions & DevOps Pipelines