AI SREClickHouse Workshops

07 Kiểm thử, lỗi, và sửa

Tiêm một lỗi đã biết, chẩn đoán nó qua ClickStack, áp dụng bản sửa, và chứng minh đã phục hồi.

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

Kết quả

Trong khoảng 20 phút, bạn sẽ chạy qua một sự cố từ lúc lỗi tới lúc phục hồi đã được kiểm chứng. Phần này tiếp nối trực tiếp từ Module 06 và dùng ClickStack MCP đã cấu hình ở Module 00.

Bước 1 — Chọn một lỗi

Hãy bắt đầu với Lỗi 01. Lỗi 02 là một bài tập ngắn thứ hai; Lỗi 03 cần một tập dữ liệu lớn hơn để lỗi xảy ra một cách đáng tin cậy.

BranchLỗi mong đợiBuild lại
fault/01-map-not-loadingCác polygon trên bản đồ biến mất; các card khác vẫn hoạt độngfrontend
fault/02-zone-stats-500Dữ liệu bản đồ zone lỗi với HTTP 500backend
fault/03-slow-dashboardRequest xu hướng bị timeout; chỉ dùng với dữ liệu nhiều thángbackend

Bước 2 — Tiêm lỗi và tái hiện nó

Ví dụ dưới đây tiêm Lỗi 01 trong khi vẫn giữ lại mọi phần việc local của bạn:

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

Hãy mở một phiên browser mới tại localhost:8080. Bản đồ rỗng là điều bình thường lúc này; một lỗi ở nơi khác không thuộc tình huống này.

Bước 3 — Chẩn đoán từ bằng chứng

Hãy đưa cho agent triệu chứng, không phải câu trả lời:

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.

Với Lỗi 01, hãy xem thêm ClickStack → Client Sessions. Bằng chứng hữu ích là một lỗi ở frontend và một lần parse resource thất bại; các trace back end khỏe mạnh cũng là bằng chứng vì chúng thu hẹp phạm vi ảnh hưởng.

ClickStack Client Sessions hiển thị lỗi ở frontend và bản replay của bản đồ rỗng

Trước khi sửa bất cứ thứ gì, hãy ghi lại:

  • thành phần bị lỗi;
  • bằng chứng chứng minh điều đó; và
  • một phép kiểm phục hồi mà sẽ thất bại trước khi sửa và thành công sau khi sửa.

Bước 4 — Sửa và build lại

Hãy yêu cầu agent thực hiện thay đổi nhỏ nhất giải quyết được nguyên nhân đã được chứng minh, rồi build lại service bị ảnh hưởng. Với Lỗi 01:

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

Với Lỗi 02 hoặc 03, hãy thay frontend bằng backend.

Hãy mở một phiên browser mới. Triệu chứng ban đầu phải biến mất, và ClickStack phải không hiển thị lỗi khớp nào mới. Các sự kiện của sự cố cũ vẫn còn trong khoảng thời gian đã chọn; hãy so sánh timestamp thay vì mong đợi lịch sử biến mất.

Bước 5 — Trở về đường cơ sở sạch

Hãy giữ lại bản sửa bạn đã thử, phục hồi build-workshop-v1, và build lại cả hai service của ứng dụng:

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

Kiểm tra hoàn thành

  • Triệu chứng được tiêm vào đã xuất hiện trước khi sửa.
  • Agent đã dẫn ra telemetry chứng minh nguyên nhân gốc.
  • Cùng phép kiểm phục hồi đó thành công sau khi sửa.
  • Một phiên mới không tạo ra lỗi khớp nào mới.
  • git branch --show-current trả về build-workshop-v1.

Tiếp tục tới 08 Chat và Langfuse.

Trên trang này

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.

VI