AI SREClickHouse Workshops

07 Testar, falhar e corrigir

Injete uma falha conhecida, diagnostique-a pelo ClickStack, aplique uma correção e comprove a recuperação.

Seu computador
Terminal do macOS: Execute os comandos do workshop no Terminal usando zsh ou bash.

Resultado

Em cerca de 20 minutos, você conduzirá um incidente desde a falha até a recuperação validada. Este módulo continua diretamente do módulo 06 e usa o ClickStack MCP configurado no módulo 00.

Etapa 1 — Escolha uma falha

Comece pela falha 01. A falha 02 é um segundo exercício curto; a falha 03 precisa de um conjunto de dados maior para ocorrer de forma consistente.

BranchFalha esperadaRecriar
fault/01-map-not-loadingOs polígonos do mapa desaparecem; os outros cartões funcionamfront-end
fault/02-zone-stats-500Os dados do mapa de zonas falham com HTTP 500back-end
fault/03-slow-dashboardA solicitação de tendência atinge o timeout; use somente com dados de vários mesesback-end

Etapa 2 — Injete e reproduza a falha

O exemplo a seguir injeta a falha 01 e preserva qualquer trabalho local:

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

Abra uma nova sessão do navegador em localhost:8080. O mapa vazio é esperado neste momento; uma falha em outro lugar não faz parte deste cenário.

Etapa 3 — Faça o diagnóstico a partir das evidências

Forneça ao agente o sintoma, não a resposta:

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.

Para a falha 01, inspecione também ClickStack → Client Sessions. As evidências úteis são um erro no front-end e uma falha ao analisar um recurso; os traces íntegros do back-end também são evidências, pois reduzem o raio de impacto.

ClickStack Client Sessions mostrando o erro no front-end e a reprodução da sessão com o mapa vazio

Antes de corrigir qualquer coisa, anote:

  • o componente que falha;
  • a evidência que comprova a falha;
  • uma verificação de recuperação que falharia antes da correção e passaria depois dela.

Etapa 4 — Corrija e recrie

Peça ao agente que faça a menor alteração capaz de resolver a causa comprovada e, depois, recrie o serviço afetado. Para a falha 01:

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

Para a falha 02 ou 03, substitua frontend por backend.

Abra uma nova sessão do navegador. O sintoma original deve ter desaparecido, e o ClickStack não deve mostrar novos erros correspondentes. Os eventos antigos do incidente permanecem no intervalo de tempo selecionado; compare os carimbos de data e hora, em vez de esperar que o histórico desapareça.

Etapa 5 — Volte à linha de base limpa

Preserve sua tentativa de correção, restaure build-workshop-v1 e recrie os dois serviços do aplicativo:

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

Verificação de conclusão

  • O sintoma injetado apareceu antes da correção.
  • O agente citou a telemetria que comprova a causa raiz.
  • A mesma verificação de recuperação passa após a correção.
  • Uma nova sessão não cria outro erro correspondente.
  • git branch --show-current retorna build-workshop-v1.

Continue em 08 Chat e Langfuse.

Nesta página

Acompanhar seu progresso?

Opcional. Enviaremos um link por e-mail para confirmar seu endereço; o progresso será registrado depois que você o abrir.

Use seu e-mail corporativo, não um endereço pessoal.

O acompanhamento do progresso também exige a aceitação dos Termos de Serviço atuais nas Configurações de privacidade.

PT