Operacje i → Prognoza incydentu zarządzania
Incydenty przewidywania
1) Dlaczego go potrzebujesz
Incydenty rzadko "wybuchają znikąd. "Przed niepowodzeniem platforma daje sygnały: przyspieszony wzrost p99, powolne spalanie budżetu błędu, opóźnienia w kolejce, wzrost przekładów na konkretny dalszy nurt, zbliżanie się do kwot dostawcy. Przewidywanie incydentów systemowych przekłada się na reakcję z „gaszenia” na „wczesną interwencję”, zmniejszenie MTTR, wskaźnik awarii zmian i straty dochodów.
Cele:- Identyfikacja wzorów prekursorów i automatyczne inicjowanie działań zapobiegawczych.
- Zmniejszyć udział P1/P2 poprzez przesunięcie w lewo (szybkość wykrywania przed zdarzeniem).
- Tworzenie prognoz w procesach uwalniania, feilover i preemptji zdolności.
2) Wskaźniki ołowiu
Platforma/infra:- Przyspieszenie p95/p99 (gradient), „ogony” opóźnień, wzrost zmienności.
- kolejki/strumienie: opóźnienie wzrostu i dodatnie opóźnienie pochodne; Maksymalny poziom HPA.
- DB/cache: 'active _ conns/max _ conns', 'replication _ lag', 'evictions', drop 'cache _ hit'.
- Sieć: mTLS/uścisk dłoni, 5xx/timeout wzrost na zewnątrz.
- 'outbound _ error _ rate '/' retry _ rate' do określonego dostawcy, 'circuit _ open', 'quota _ usage> 0. 9`.
- Dostawca SLA: planowane okna, degradacja.
- Nieprawidłowe obciążenie (kampanie/mecze), skoki RPS/TPS, nietypowe mieszanki regionalne/kanałowe.
- Spadek konwersji depozytów/kursów przy wzroście p99 → incydent quasi-proxy.
- Błąd w budżecie na spalanie> próg (na przykład> 4 × przez 10-15 minut).
- Częste drobne naruszenia SLO (mikrorozkładu) jako znacznik zbliżającej się awarii.
3) Źródła danych i znaki danych
Teleemetria online: Prometheus/OTel (mierniki, kłody, szlaki).
Zdarzenia incydentalne: bilety/statusy/postmortemy (dotyczy celu).
Plan zmian/fakty: wydania, phicheflags, migracje, okna dostawcy.
Katalogi: mapa zależności, kwoty, właściciele.
Migawki DWH: jednostki do treningu/walidacji (okno synchroniczne!).
Wymagania jakościowe: ≥ 99% kompletność, godzina/minuta wyrównanie TZ, jednolite definicje p95/p99.
4) Podejścia do przewidywania
4. 1 Nie parametryczne/zasady (szybki start)
Alerty progowe dla szybkości zmian: 'deriv (p99)', 'z-score' dla krótkich okien.
Warunki kompozytowe: 'LAGA i HPA = max + circuit_open (do = „PSP-X”)'.
Bramy spalania SLO: zwolnienie/zatrzymanie kanaryjskie w szybkości spalania> X.
4. 2 Wykrywanie anomalii
Sezonowe linie podstawowe (STL/Prorok-jak pomysły), rolling mediana + MAD.
Multivariate: wspólna anomalia 'p99 + retry + open_circuit + quota'.
Wykrywanie punktu zmiany: CUSUM/BOCPD dla zmian trendu.
4. 3 modele ML (nadzorowane)
Klasyfikacja „incydent w T + K?” przez okno funkcji (na przykład, 10-30 min przed).
Cechy charakterystyczne: statystyki, pochodne, resztki sezonowe, dostawcy/regiony, flagi uwalniania.
Etykiety: 'Incydent {severity α [P1, P2]}' w przedziale [t, t + K].
Możliwość wyjaśnienia: SHAP/Znaczenie permutacji dla zaufania i operacyjności.
4. 4 SRE-pierwszy hybrydowy
Model → ryzyko punktacji (0-1) → polityka działania (phicheflags/feilover/pre-scale), z HITL krytyki.
5) Inżynieria funkcji
Okna przesuwne (1/5/15 min): średnia, p95/p99, std, max, nachylenie.
Wskaźniki względne: 'p99/baseline _ 1d',' error _ rate _ delta '.
Funkcje kohorty: dostawca, region, typ gry/mecz, kanał urządzenia.
Funkcje „obciążenia”: RPS, rozmiar ładunku, liczba otwartych WS.
System: 'hpa _ desired/max', 'db _ conn _ ratio', 'redis _ evictions> 0'.
Flagi wydarzeń: „release in progress”, „canary 10%”, „provider window”.
6) Mechanika prognozowania i działania
Łańcuch decyzji:1. Ocena ryzyka co N sekund według domeny (Płatności/Zakłady/Gry/KYC).
2. Polityka ostrzegania:- ryzyko ≥ 0. 8 + sygnały potwierdzające → strona właściciela domeny;
- 0. 6–0. 8 → ostrzeżenie + przygotowanie środków.
- Skanowanie wstępne (HPA minReplicas z), umożliwiające podręczniki, ograniczające ciężkie funkcje;
- Przełącz na dostawcę kopii zapasowych/trasę
- kanarki pauzyjne/rollback;
- limit retray do „wąskiego” dolnego strumienia.
4. HITL: Osoba potwierdza miary poziomu „zmiany zachowań biznesowych”.
7) Integracja z codziennymi procesami
Wydania: bramki predykcyjne na kanarkach (przed/po porównaniu i punktacji ryzyka).
Feilover: automatyczne przygotowanie/ocieplenie trasy awaryjnej na ryzyko dostawcy.
Pojemność: „wczesny wzrost” z upadkiem głowy i opóźnienia wzrasta.
Wpisy: oddzielne pasze „pre-incydent” + adnotacje w deskach rozdzielczych.
8) Obserwowalność i deski rozdzielcze
Przegląd ryzyka: ryzyko według domeny i dostawcy, trendy, wkład funkcji.
Sygnały ołowiu: przyczepy top-N (gradient p99, opóźnienie, wyłączniki otwarte).
Działania i rezultaty: co włączyło, wpływ na p95/błąd, odwołane incydenty.
Zdrowie modelu: precyzja/wycofanie/opóźnienie, dryf znaków, częstotliwość autodziałań.
9) Wskaźniki jakości prognoz
Przypomnij @ P1/P2 (wrażliwość na incydenty krytyczne).
Precyzja (mniej „fałszywych stron”).
Czas realizacji (mediana „ile minut przed faktem”).
Interwencja Win-rate (odsetek przypadków, w których działanie zmniejszyło ryzyko/koszt).
Alert Fatigue Index (alert/shift/person).
Drift Score (stat. różnice w rozmieszczeniu cech w stosunku do okresu szkolenia).
Domyślne cele to Recall (P1) ≥ 0. 7, Dokładność ≥ 0. 6, mediana czasu ołowiu ≥ 8-10 min.
10) Model zarządzania ryzykiem (ML Ops/Governance)
Wersioning danych/kodów/artefaktów, odtwarzalność.
Champion/Challenger: nowy model działa równolegle, offline/porównanie online.
Drift: PSI/KL-dywergencja, automatyczne wyliczenie progów, alert „model jest przestarzały”.
Możliwość wyjaśnienia: dla każdego rozwiązania należy przechowywać znaczenie funkcji i link do danych.
Bezpieczeństwo/etyka: dostęp, maskowanie PII, kontrola auto-działań polityków.
11) Przykładowe zasady i polityki
Spalanie SLO i kanarka (koncepcja):
policy:
if slo_burn_rate{service="payments"} > 4 for 10m and release_phase in ["canary", "post-deploy_30m"]:
action: pause_release_and_rollback notify: squad-payments
Złożone ryzyko dostawcy:
risk_psp_x = sigmoid(
1. 2z(outbound_p99_ms) +
1. 5z(outbound_error_rate) +
0. 8z(retry_rate) +
1. 0I(quota_usage>0. 9) +
0. 7I(circuit_open=1)
)
if risk_psp_x > 0. 8 for 5m -> route_to_psp_y + reduce_features
Burza w strumieniach:
if (consumer_lag > 5e6 and deriv(consumer_lag) > 5e4) and hpa_desired == hpa_max:
action: scale_consumers + throttle_producers + enable_batching
12) Lista kontrolna wdrażania (30-60 dni)
- Katalog sygnałów i "prawd' według incydentów (dotkliwość, linie czasowe).
- Wartość wyjściowa i sezonowość dla kluczowych metryk (przed/po wydaniu).
- Zasady wczesnego sygnału (p99, opóźnienie, gradienty prędkości spalania).
- Sygnały ryzyka/sygnały ołowiu/deski rozdzielcze działań.
- Integracja z phicheflags/canaries, pre-scale HPA.
- Pilot klasyfikujący ML w tej samej dziedzinie (np. Płatności).
- HITL Policies and Auto Activity Log.
- Wskaźniki jakości i wpisy do modelu dryfu/zdrowia.
13) Anty-wzory
„Kryształowe kulki”: złożony model ML bez linii podstawowych i prostych zasad.
Brak działania: przewidujemy „złe”, ale nie robimy nic automatycznie.
Ignorowanie sezonowości/kalendarza wydarzeń (mecze/turnieje) → fałszywe alarmy.
Mieszanie stref czasowych → nieprawidłowe mierniki/okna incydentów.
Brak wyjaśnień → nieufność, wyłączenie predykatora z poleceniami.
Jeden globalny próg dla wszystkich domen/regionów → niska dokładność.
14) Specyfika domeny (iGaming)
Płatności: dostawcy/kwoty, wzrost „retry _ rate” i „circuit _ open” → wczesne fałszywe.
Zakłady: opóźnienie w aktualizacji współczynników, WS wentylator wzrost → limit transmisji.
Gry/Live: kolce podłączeniowe, limity studio → degradacja interfejsu użytkownika/bufory.
KYC/AML: opóźnienia w haku, kolejki weryfikacji → HITL i odroczone przetwarzanie.
15) Przykłady metryk i wpisów (pomysły)
ALERT PreIncidentRiskHigh
IF risk_score{domain="payments"} > 0. 8 FOR 5m
LABELS {severity="critical", team="payments"}
ALERT LeadSignalP99Slope
IF deriv(api_p99_ms{service="bets"}[5m]) > 15 AND api_p99_ms > baseline_1d 1. 2 FOR 10m
LABELS {severity="warning", team="bets"}
ALERT ProviderEarlyQuota
IF usage_quota_ratio{provider="psp_x"} > 0. 85 FOR 10m
LABELS {severity="info", team="integrations"}
ALERT StreamLagStorm
IF (kafka_consumer_lag{topic="ledger"} > 5e6 AND rate(kafka_consumer_lag[5m]) > 5e4)
AND hpa_desired == hpa_max FOR 10m
LABELS {severity="critical", team="streaming"}
16) Program prognozowania KPI
Szybkość wykrywania przed incydentem.
Avg Lead Time przed incydentem.
Zmniejszenie P1/P2 QoQ
MTTR (oczekiwany w związku z wczesnym kontekstem).
False Alarm Rate/Alert Fatigue (stabilne).
Unikanie kosztów.
17) Szybki start (przepis)
1. Włącz zasady gradientu na p99/lag i spalanie SLO;
2. Dodanie złożonych warunków dla usługodawców;
3. Powiązanie predykatu z ficheflagami i przedskalą;
4. Prognoza → działanie → raport efektu;
5. pilot ML w jednej dziedzinie; skala po precyzji/Recall rośnie.
18) FAQ
P: Gdzie zacząć bez ML?
Odp.: Sezonowe linie podstawowe + gradienty + reguły kompozytowe. Daje to zauważalny wzrost Recall bez komplikacji.
P: Jak nie utopić się w pozytywach ludowych?
Odp.: Łączyć sygnały, wprowadzić histerezę i czas potwierdzenia, dostosować progi per-domain/region, ocenić precyzję i alert zmęczenie.
P: Które działania zautomatyzować najpierw?
Odp.: Bezpieczny i odwracalny: przedskalowy, umożliwiający podręczniki/degradację, kanary pauzy/rollback, przełączanie dostawcy na potwierdzonych sygnałach.