AI SREClickHouse Workshops

07 Uji, gagalkan, dan perbaiki

Suntikkan fault yang diketahui, diagnosis lewat ClickStack, terapkan perbaikan, dan buktikan pemulihannya.

Your computer
macOS terminal: Run workshop commands in Terminal using zsh or bash.

Hasil

Dalam sekitar 20 menit, Anda akan menjalankan satu insiden dari kegagalan hingga pemulihan yang terverifikasi. Ini berlanjut langsung dari Modul 06 dan memakai ClickStack MCP yang dikonfigurasi di Modul 00.

Langkah 1 — Pilih satu fault

Mulailah dengan Fault 01. Fault 02 adalah latihan singkat kedua; Fault 03 memerlukan dataset yang lebih besar agar gagal secara konsisten.

BranchKegagalan yang diharapkanBangun ulang
fault/01-map-not-loadingPoligon peta hilang; kartu lain berfungsifrontend
fault/02-zone-stats-500Data peta zona gagal dengan HTTP 500backend
fault/03-slow-dashboardPermintaan tren timeout; pakai hanya dengan data lintas bulanbackend

Langkah 2 — Suntikkan dan reproduksi

Contoh berikut menyuntikkan Fault 01 sambil mempertahankan pekerjaan lokal apa pun:

cd "$(git rev-parse --show-toplevel)"
git stash push --include-untracked -m "before-module-07"
git switch build-workshop-v1
git switch fault/01-map-not-loading

cd workshops/build_workshop/app
docker compose --env-file .env.workshop \
  -f docker-compose.workshop.yml \
  -f docker-compose.otel.yml \
  up -d --build frontend

Buka sesi browser yang baru di localhost:8080. Peta yang kosong memang diharapkan sekarang; kegagalan di tempat lain bukan bagian dari skenario ini.

Langkah 3 — Diagnosis dari bukti

Berikan gejalanya kepada agent, bukan jawabannya:

Using the clickstack MCP, investigate the current workshop failure.
Correlate frontend and backend telemetry, identify the root cause, and cite the exact
events, request, response content type, or trace that supports the conclusion.
Do not edit code yet.

Untuk Fault 01, periksa juga ClickStack → Client Sessions. Bukti yang berguna adalah error frontend dan kegagalan parse resource; trace backend yang sehat juga merupakan bukti karena mempersempit radius dampaknya.

ClickStack Client Sessions menampilkan error frontend dan replay peta yang kosong

Sebelum memperbaiki apa pun, tuliskan:

  • komponen yang gagal;
  • bukti yang membuktikannya; dan
  • satu pemeriksaan pemulihan yang akan gagal sebelum perbaikan dan lulus setelahnya.

Langkah 4 — Perbaiki dan bangun ulang

Minta agent membuat perubahan terkecil yang mengatasi penyebab yang sudah terbukti, lalu bangun ulang layanan yang terdampak. Untuk Fault 01:

docker compose --env-file .env.workshop \
  -f docker-compose.workshop.yml \
  -f docker-compose.otel.yml \
  up -d --build frontend

Untuk Fault 02 atau 03, ganti frontend dengan backend.

Buka sesi browser baru. Gejala aslinya harus hilang, dan ClickStack harus tidak menampilkan error baru yang cocok. Peristiwa insiden lama tetap ada di rentang waktu yang dipilih; bandingkan timestamp-nya ketimbang mengharapkan riwayatnya menghilang.

Langkah 5 — Kembali ke baseline yang bersih

Pertahankan perbaikan yang Anda coba, kembalikan build-workshop-v1, dan bangun ulang kedua layanan aplikasi:

cd "$(git rev-parse --show-toplevel)"
git stash push --include-untracked -m "module-07-fix"
git switch build-workshop-v1

cd workshops/build_workshop/app
docker compose --env-file .env.workshop \
  -f docker-compose.workshop.yml \
  -f docker-compose.otel.yml \
  up -d --build frontend backend

Pemeriksaan penyelesaian

  • Gejala yang disuntikkan muncul sebelum perbaikan.
  • Agent mengutip telemetri yang membuktikan akar penyebabnya.
  • Pemeriksaan pemulihan yang sama lulus setelah perbaikan.
  • Sesi yang baru tidak menciptakan error baru yang cocok.
  • git branch --show-current mengembalikan build-workshop-v1.

Lanjutkan ke 08 Chat dan Langfuse.

Di halaman ini

Track your progress?

Optional. We email a link to confirm your address; progress records once you open it.

Please use your work email address, not a personal one.

Progress tracking also requires accepting the current Terms of Service in Privacy settings.

ID