running-chaos-tests
Testuj odporność systemu poprzez kontrolowane eksperymenty chaotyczne
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do przeprowadzania eksperymentów chaos engineering, które weryfikują, jak Twój system radzi sobie z awariami. Wstrzykujesz błędy sieciowe, awarie usług, wyczerpanie zasobów i przerwy w zależnościach, aby sprawdzić, czy system degraduje się gracefully i automatycznie się regeneruje. Wymaga środowiska testowego, skonfigurowanego monitorowania i narzędzia chaos engineering (toxiproxy, Pumba, Litmus lub Chaos Mesh).
Jak używać
Przygotuj środowisko: upewnij się, że masz rozproszoną architekturę lub mikrousługi wdrożone w środowisku staging/test, skonfigurowane monitorowanie (Grafana, Datadog, CloudWatch, Prometheus) oraz zainstalowane narzędzie chaos engineering (toxiproxy, Pumba, Litmus lub Chaos Mesh). Uzyskaj wyraźną zgodę zespołu na uruchomienie eksperymentów.
Zdefiniuj hipotezę stanu ustalonego: określ mierzalne wskaźniki normalnego zachowania systemu (np. p99 latencja poniżej 500ms, wskaźnik błędów poniżej 0,1%, wszystkie health checki przechodzą). Zapisz metryki bazowe przed wstrzyknięciem jakichkolwiek błędów. Określ blast radius — które usługi i użytkownicy będą dotknięci eksperymentem.
Zaprojektuj eksperymenty chaotyczne: wybierz kategorię testów — sieciowe (wstrzyknij latencję 200-2000ms, utratę pakietów 5-50%, awarię DNS), procesowe (zabij instancję usługi, wyczerpaj CPU/pamięć), zależności (zablokuj dostęp do bazy danych, cache'u, API) lub stan (uszkodzenie danych, clock skew).
Uruchom eksperymenty: użyj frazy "run chaos tests", "test resilience" lub "inject failures", aby aktywować skill. Narzędzie będzie wstrzykiwać błędy zgodnie z zaprojektowanymi scenariuszami.
Monitoruj i zbieraj dane: obserwuj metryki systemu w trakcie eksperymentu. Zweryfikuj, czy system zachowuje się zgodnie z hipotezą stanu ustalonego i czy degradacja jest kontrolowana.
Analizuj wyniki i iteruj: przeanalizuj, jak system reaguje na każdy typ błędu. Użyj wyników do identyfikacji słabych punktów i poprawy odporności. Powtórz eksperymenty z nowymi scenariuszami lub większą intensywnością.