Operatsiyalar va Boshqaruv → Hodisalarni oldindan aytib berish
Hodisalarni bashorat qilish
1) Nima uchun bu zarur?
Hodisalar kamdan - kam hollarda «hech joydan portlaydi». Platforma rad etilishidan oldin signallarni beradi: p99 ning tez o’sishi, error-byudjetning sekin yonishi, navbat laglari, aniq daunstrimdagi retraylarning ko’payishi, provayder kvotalarining yaqinlashishi. Hodisalarni tizimli prognoz qilish MTTR, Change Failure Rate va tushumlarni kamaytirib, «yong’inni o’chirishdan» «erta aralashuvga» o’tkazadi.
Maqsadlar:- Xabarchilarning patternlarini aniqlash va avtomatik ravishda profilaktik harakatlarni boshlash.
- Chapga siljish orqali P1/P2 ulushini kamaytirish (pre-incident detect rate).
- Prognozlarni relizlar, faylover va capacity-ogohlantirishlar jarayonlariga qoʻshish.
2) Signallar xaritasi (lead indicators)
Platforma/infra:- Tezlashuv p95/p99 (gradiyent), kechikish «dumlari», o’zgarishlar o’sishi.
- Navbatlar/oqimlar: o’sish’lag’i va lag ning ijobiy hosilasi; HPA maksimal.
- BD/kesh:’active _ conns/max _ conns’,’replication _ lag’,’evictions’, qulash’cache _ hit’.
- Tarmoq: mTLS/handshake xatolari, balandligi 5xx/timeout.
- ’outbound _ error _ rate ’/’ retry _ rate’ aniq provayderga,’circuit _ open’,’quota _ usage> 0. 9`.
- Provayderning SLA’si: rejalashtirilgan oynalar, degradatsiyalar.
- G’ayritabiiy yuk (kampaniyalar/o’yinlar), RPS/TPS poygalari, mintaqalar/kanallarning g’ayrioddiy aralashmalari.
- Depozitlar/stavkalar konvertatsiyasi p99 → kvazi-proksi hodisasi oshganda pasayadi.
- Burn-rate error-budjet> chegara (masalan,> 4 × 10-15 daqiqa davomida).
- Tez-tez kichik SLO buzilishi (mikro-degradatsiya) yaqinlashib kelayotgan nosozlik belgisi sifatida.
3) Ma’lumotlar manbalari va vitrinalari
Onlayn telemetriya: Prometheus/OTel (metrika, loglar, treyslar).
Hodisalar voqealari: tiketlar/maqomlar/postmortemlar (maqsad uchun haqiqat).
O’zgarishlar rejasi/faktlari: relizlar, ficheflaglar, migratsiyalar, provayderlar oynalari.
Ma’lumotnomalar: qaramlik xaritasi, kvotalar, egalari.
DWH-rasmlar: o’rganish/validatsiya uchun agregatlar (sinxron oyna!).
Sifat talablari: to’liqligi ≥ 99%, TZ soatlik/daqiqalik tekislash, p95/p99 yagona ta’riflari.
4) Bashorat qilishga yondashuvlar
4. 1 Parametrik bo’lmagan qoidalar (tezkor boshlash)
O’zgarish tezligi chegarasi:’deriv (p99)’,’z-score’qisqa oynalar uchun.
Kompozit shartlar:’lag ↑ + HPA = max + circuit_open (to = «PSP-X»)’.
SLO-burn-geytlar: burn-rate> Xda reliz/kanareykani toʻxtatish.
4. 2 Anomaliyalar deteksiyasi
Seasonal baselines (STL/Prophet - shunga o’xshash g’oyalar), rolling media + MAD.
Multivariate: qo’shma anomaliya’p99 + retry + open_circuit + quota’.
Change-point detection: CUSUM/BOCPD.
4. 3 ML-modellar (supervised)
«T + K dagi hodisa?» tasnifi belgilar oynasi bo’yicha (masalan, 10-30 daqiqa oldin).
Belgilari: statistika, hosilalar, mavsumiy qoldiqlar, one-hot provayderlar/hududlar, relizlar bayroqlari.
Belgilar:’incident {severity ∈ [P1, P2]}’oraligʻida [t, t + K].
Explainability: SHAP/Permutation importance ishonch va operativlik uchun.
4. 4 SRE-first gibrid
Model → tavakkalchilik (0-1) → harakatlar siyosati (ficheflagi/feylover/pre-skeyl), tanqid uchun HITL bilan.
5) Belgilarni loyihalash (feature engineering)
Sirg’aluvchi derazalar (1/5/15 min): mean, p95/p99, std, max, slope.
Nisbiy ko’rsatkichlar:’p99/baseline _ 1d’,’error _ rate _ delta’.
Kogort fichlari: provayder, mintaqa, oʻyin/oʻyin turi, qurilma kanali.
«Yuklash» fichlari: RPS, payload size, ochilgan WS soni.
Tizimlar:’hpa _ desired/max’,’db _ conn _ ratio’,’redis _ evictions> 0’.
Tadbir bayroqlari: «reliz», «kanareyka 10%», «provayder oynasi».
6) Bashorat qilish va harakat mexanikasi
Qarorlar qabul qilish zanjiri:1. Har N soniyada (Payments/Bets/Games/KYC) tavakkalchilik skoringi.
2. Alert siyosati:- tavakkalchilik ≥ 0. 8 + domen egasining → page tasdiklovchi signallari;
- 0. 6–0. 8 → ogohlantirish + chora-tadbirlar tayyorlash.
- pre-skeyl (HPA minReplicas ↑), keshni yoqish, og’ir funksiyalarni cheklash;
- zaxira provayderga/yo’nalishga o’tish;
- kanareyka pauza/rollbek;
- «tor» daunstrimga retray limiti.
4. HITL: Inson «biznes xulq-atvorini o’zgartirish» darajasini tasdiqlaydi.
7) Kundalik jarayonlarga integratsiya qilish
Relizlar: kanareykalarda oldindan aytiladigan geytlar («oldin/keyin» qiyoslash va risk-skoring).
Feylover: provayder xavfi bo’lganda zaxira yo’nalishni avtomatik ravishda tayyorlash/isitish.
Capacity: «early uplift» headroom yiqilganda va laglar o’sganda.
Ogohlantirishlar: dashbordlarda alohida «pre-incident» tasmasi + annotatsiyalar.
8) Kuzatuv va dashbordlar
Risk Overview: domen va provayderlar bo’yicha xavf, tendensiyalar, belgilar hissasi.
Lead Signals: top-N xabarchilari (gradient p99, lag, ochiq breykerlar).
Actions & Outcomes: yoqilgan narsa, p95/error effekti, bekor qilingan hodisalar.
Model Health: precision/recall/latency, drift belgilari, avtomashinalar chastotasi.
9) Bashorat qilish sifati metrikasi
Recall @P1/P2 (tanqidiy hodisalarga sezgirlik).
Precision («yolg’on peyjlar» dan kamroq).
Lead Time («faktdan necha daqiqa oldin»).
Intervention Win-rate (harakat xavfni/xarajatlarni kamaytirgan holatlar ulushi).
Alert Fatigue Index (alert/smena/kishi).
Drift Score (stat. belgilar taqsimotining farqlari vs o’qitish davri).
Andoza maqsadlar: Recall (P1) ≥ 0. 7, Precision ≥ 0. 6, Lead Time media ≥ 8-10 daqiqa.
10) Model xatarlarini boshqarish (ML Ops/Governance)
Ma’lumotlarni/kodni/artefaktlarni versiyalash, takrorlanuvchanlik.
Champion/Challenger: yangi model parallel ravishda, oflayn/onlayn taqqoslash.
Dreyf: PSI/KL-divergensiya, ostonalarning avto-ro’yxati, «model eskirgan» alert.
Explainability: har bir qaror uchun belgilar va maʼlumotlarga havolani saqlash.
Xavfsizlik/odob: kirish, PII-niqoblash, siyosatchilar tomonidan avtomatlashtirilgan harakatlarni nazorat qilish.
11) Qoidalar va siyosatchilar misollari
SLO-burn va kanareyka (konsept):
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
Provayderning kompozit tavakkalchiligi:
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
Strimingdagi lag-bo’ron:
if (consumer_lag > 5e6 and deriv(consumer_lag) > 5e4) and hpa_desired == hpa_max:
action: scale_consumers + throttle_producers + enable_batching
12) Joriy etish chek-varaqasi (30-60 kun)
- Hodisalar bo’yicha signallar va «haqiqatlar» katalogi (severity, taymlaynlar).
- Asosiy metriklar uchun asosiy chiziqlar va mavsumiylik (chiqarilishdan oldin/keyin).
- Erta signallar qoidalari (p99, lag, burn-rate gradientlari).
- Risk/Lead signals/Actions dashbordlari.
- Ficheflaglar/kanareykalar bilan integratsiya, HPA pre-skeyl.
- Bitta domendagi ML-klassifikator uchuvchisi (masalan, Payments).
- HITL siyosati va avtomashinalar jurnali.
- Sifat metrikasi va drift/salomatlik modeli uchun alertlar.
13) Anti-patternlar
«Kristal sharlar»: asosiy chiziqlarsiz va oddiy qoidalarsiz murakkab ML modeli.
Hech qanday actionability yo’q: biz «yomon» deb taxmin qilamiz, lekin avtomatik ravishda hech narsa qilmaymiz.
Mavsumiylik/voqealar taqvimi ignori (o’yinlar/turnirlar) → soxta tashvishlar.
Vaqt oralig’i → metrik/hodisalarning noto’g’ri oynalari.
explainability → ishonchsizlik yo’qligi, buyruqlarni o’chirish.
Barcha domenlar/mintaqalar uchun yagona global chegara → past aniqlik.
14) Domenlarning o’ziga xosligi (iGaming)
Payments: provayderlar/kvotalar, o’sish’retry _ rate’va’circuit _ open’→ erta feylover.
Bets: koeffitsiyentlarni yangilashda kechikish, WS fan-autning o’sishi → ko’rsatuv limiti.
Games/Live: ulanish portlashlari, studiya limitlari → UI/kesh degradatsiyasi.
KYC/AML: webhook kechikishlari, tekshirish navbatlari → HITL va kechiktirilgan qayta ishlash.
15) Metrika va alertlar namunalari (g’oyalar)
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) KPI prognozlash dasturlari
Pre-Incident Detect Rate (oldini olingan/yumshatilgan hodisalar ulushi).
Avg Lead Time voqeadan oldin.
Reduction in P1/P2 kv.m
MTTR (kutilganidek ↓ erta kontekst hisobiga).
False Alarm Rate/Alert Fatigue (barqaror ↓).
Cost Avoidance (oldini olingan yo’qotishlarni/jarimalarni/overskeylni baholash).
17) Tez boshlash (retsept)
1. Gradient qoidalarini p99/lag va SLO-burn ga kiriting;
2. Provayderlar uchun kompozit shartlarni qoʻshing;
3. Predikatni ficheflaglar va pre-skeyllar bilan bogʻlang;
4. «Bashorat → Harakat → Ta’sir» hisoboti;
5. ML uchuvchisi bitta domenda; Precision/Recall’ni kattalashtiring.
18) FAQ
Q: MLsiz qaerdan boshlash kerak?
A: Mavsumiy bazaviy chiziqlar + gradientlar + kompozit qoidalar. Bu esa hech qanday qiyinchiliksiz Recall’ning sezilarli oʻsishiga olib keladi.
Q: Qanday qilib fols-pozitivlarda cho’kib ketmaslik kerak?
A: Signallarni birlashtirish, gisterezis va tasdiqlash vaqtini kiritish, per-domen/mintaqa ostonalarini sozlash, Precision va Alert Fatigue ni baholash.
Q: Birinchi navbatda qanday harakatlarni avtomatlashtirish kerak?
A: Xavfsiz va qaytarib bo’ladigan: pre-skeyl, kesh/degradatsiyani yoqish, kanareyka pauza/rollbek, tasdiqlangan signallarda provayderni almashtirish.