Hodisalarni boshqarish
(Bo’lim: Texnologiyalar va infratuzilma)
Qisqacha xulosa
Noxush hodisalarni boshqarish - bu foydalanuvchi qiymatini tezda tiklash va biznesga yetkazilgan zararni kamaytirish jarayonidir. Tayanch - aniq rollar (Incident Manager, Tech Lead, Comms), SLO-geytlar, eskalatsiyalar, ChatOps-jarayonlar, tayyorlangan runabuklar va o’lchanadigan action items bilan «aybsiz» hodisadan keyingi tahlillar.
1) Maqsad va prinsiplar
Tezlik va xavfsizlik: tezkor tashxis → xavfsiz barqarorlik → barqaror tiklanish.
Yagona egasi: tayinlangan Incident Manager (IM) protsessual qarorlarni qabul qiladi.
Kommunikatsiyalar mahsulot sifatida: steykxolderlar va foydalanuvchilar uchun bashorat qilinadigan yangilanishlar.
Maʼlumotlar> fikrlar: SLO/metrika/treys/logi - haqiqat manbai.
Blameless: shaxsiy ayblovlarsiz sabablarni tahlil qilish; tizimli yaxshilanishlarga e’tibor qaratish.
2) Hodisalar tasnifi (Severity/Impact/Urgency)
Severity (misol):- SEV1 (tanqidiy): tushum/TTW/to’lovlarga jiddiy zarar,> 20% foydalanuvchilar yoki butun mintaqalar; SLA buzilgan/PII tahdidi.
- SEV2 (yuqori): asosiy oqimlarning qisman tanazzulga uchrashi (depozit/stavka/o’yinlarni ishga tushirish), ta’siri 5-20%.
- SEV3 (o’rtacha): ikkilamchi xizmatlarning sezilarli darajada tanazzulga uchrashi, aylanma yo’l mavjud.
- SEV4 (past): kichik, cheklangan ta’sir, SLO/SLA ta’sirisiz.
Impact: (butun/mintaqa/tenant/kanal). Urgency: tanazzul tezligi (xato byudjeti boʻyicha fast-burn/slow-burn).
3) Hodisaning hayot sikli
1. Detect - alert/SLO/sintetik/reportlardan signal.
2. Acknowledge - on-call qabul qilinganligini tasdiqlaydi, IMni tayinlaydi.
3. Triage - SEV/Impact bahosi, gipotezalarni to’plash, War-Roomni ochish.
4. Mitigate - barqarorlashtirish (yo’nalishni qaytarish/o’zgartirish/fizeflaglar/masshtablash).
5. Communicate - doimiy maqom yangiliklari (ichki/tashqi).
6. Recover - SLO/biznes metrikni to’liq tiklash.
7. Close - xronologiyani belgilash, artefaktlarni to’plash, PIR (RCA + action items).
4) Rollar va javobgarlik (RACI-sxema)
Incident Manager (IM) - jarayon egasi, rollarni tayinlaydi, vaqtni kuzatadi, protsessual qarorlar qabul qiladi (R).
Technical Lead (TL) - diagnostika/gipotezalar/fikslar olib boradi, muhandislarni muvofiqlashtiradi (A/R).
Communications (Comms) - maqom-yangiliklar, qoʻllab-quvvatlash/biznes/PR bilan aloqa, maqom-sahifa (R).
Scribe - protokol (taymline, qabul qilingan qarorlar, havolalar, artefaktlar) (R).
Stakeholders - mahsulot/to’lovlar/o’yin provayderlari/xavfsizlik (C/I).
Minimal SEV1: IM + TL + Comms + Scribe. SEV2 rollarni birlashtirishga yo’l qo’yiladi.
5) War-Room и ChatOps
Alohida kanallar:’#incident-warroom- <id>’(ishchi),’#incident-status’(faqat yangilanishlar).
Shablon buyruqlari: ’/incident start’, ’/status update’, ’/call <owner>’, ’/rollback’, ’/freeze’, ’/scale + N’.
Bot kontekstni tortadi: so’nggi relizlar, dashbordlar, bog’langan alertlar, trace exemplars, qaramlik sxemalari.
Muloqot qoidalari: qisqacha, faktlar bo’yicha, bitta spiker (TL), IM moderatsiya qiladi.
6) Triggerlar va geytlar
SLO-geytlar: fast/slow burn, to’lov konversiyasining pasayishi, TTW p95> chegara, p99 API ↑, to’lov navbatlari «yonmoqda».
Avtomatik harakat: stop canary, rollback, degrade rejimini yoqish (funksiyalarni cheklash), yuqori chastotali sintetikani yoqish.
Freeze: barqarorlashgunga qadar barcha relizlar/oyoq migratsiyasi va PIR.
7) Namunaviy ssenariylar (runabuk-patternlar)
A) To’lovlar: PSPda taymaut/nosozliklar o’sishi
1. To’lov konturining relizlarini to’xtatish va muzlatish.
2. PSP yo’nalishini zaxira yo’nalishiga o’tkazish, siyosat bo’yicha vaqtni/retraani ko’tarish.
3. Tugallanmagan tranzaksiyalarni solishtirish, idempotent kalitlar bilan takrorlash.
4. Comms → sapport: zaxira ishlayapsizmi? ETA.
B) API p99 ↑ va 5xx chiqarilgandan keyin
1. Orqaga qaytish (blue-green/canary → stable).
2. Cash-xit, navbatlarning chuqurligini, DB/oʻyin provayderlarining issiq nuqtalarini tekshirish.
3. Vaqtinchalik kattalashtirish, feature flags orqali ogʻir chiziqlarni cheklash.
C) O’yin provayderi mavjud emas
1. Trafikni mavjud studiyalarga/oʻyinlarga oʻtkazish, maqom bannerini koʻrsatish.
2. Sintetik tekshiruvlarni har 30-60s.
3. Kompensatsiya/bonuslar (siyosat bo’yicha) PIRga kiritilsin.
D) PII ga shubha/sizib chiqish
1. Komponentni izolyatsiya qilish, kalitlarni/tokenlarni qaytarish, log yigʻish (WORM).
2. Huquqiy kommunikatsiya/tartibga solishni kelishish.
3. Hodisadan keyingi harakatlar: sir-rotatsiya, niqob, kirish.
8) Kommunikatsiyalar (ichki/tashqi)
Yangilanishlar chastotasi: SEV1 - har 15-30 daqiqada, SEV2 - 30-60 daqiqada.
Ichki maqom namunasi:- Singan narsa: «PSP-X orqali depozitlar: vaqtning o’sishi.»
- Kimga ta’sir ko’rsatdi: «TR/BR, ~ oqim foydalanuvchilarining 18%.»
- Qachon boshlandi: «12:07 EET, SEV1.»
- Biz nima qilamiz: «Yo’nalishni PSP-Y ga o’tkazamiz, retray/stavka chegarasi yoqilgan.»
- Keyingi yangilanish: «20 daqiqada.»
- Aloqa: «IM @duty -im, TL @oncall -pay.»
Ommaviy maqom (sahifa/ijtimoiy tarmoqlar) - qisqartirilgan, PII va ortiqcha tafsilotlarsiz, ETA va keyingi yangilanishlarga havolali.
9) Artefaktlarni to’plash va audit
Voqealar taymline (bir daqiqalik aniqlik), servislar versiyasi, fich-bayroqlar, konfiguratsiyalarni o’zgartirish.
Dashbordlarning suratlari, namunaviy trassalar (trace_id), logi «oldin/vaqtida/keyin».
Chiptalar, PR, relizlar, runabuklarga havolalar.
Kommunikatsiyalar bo’yicha hisobot (qachon/kimga/nima).
Hammasi voqea kartochkasiga aylanadi.
10) Yopish va PIR (Post-Incident Review)
PIR formati (qisqa):- Xulosa: nima bo’ldi, ko’lami, davomiyligi, SEV.
- Ta’sir: foydalanuvchilar/hududlar, SLO/SLA, fin. effekt.
- Taymline: batafsil, daqiqalar bo’yicha.
- Root Cause: texnik + tashkiliy (nega ilgari aniqlanmagan).
- Detections & Defenses: nima yordam berdi/tushkunlikka tushirdi (alerta, sintetika, fitna).
- Action Items: aniq vazifalar, egalari, muddatlari (va samarasini qanday tekshiramiz).
- Lessons Learned: jarayonda/arxitekturada/kuzatishda nimani o’zgartiramiz.
Qoidalar: ayblovlarsiz, eng ko’p faktlarsiz, bajarilgan bandlarni tekshirishning 2-4 haftasidan keyin majburiy follow-up.
11) Jarayon ishonchliligi metrikasi
MTTD (Mean Time To Detect) - aniqlashning o’rtacha vaqti.
MTTA (… Acknowledge) - on-call tasdiqlangunga qadar.
MTTR (… Restore) - SLO tiklangunga qadar.
Change Failure Rate - hodisalarga olib kelgan relizlar%.
SEV bo’yicha Incident Rate, domenlar bo’yicha taqsimlash (Payments/Games/Infra).
Alert Quality: shovqinli/yolg’on, alertdan keyingi vaqt.
Komm-SLA: maqom-yangiliklar davriyligiga rioya qilish.
12) SLO va relizlar bilan integratsiya
CD geytlar: faqat yashil SLO-proxy (availability, p95, conv, TTW) da kanareykalarni targ’ib qilish.
Freeze-protseduralar: fast-burn/SEV1 - PIRgacha relizlarni to’xtatish.
Avto-izohlar grafalarda: relizlar/bayroqlar/migratsiyalar dashbordlarda ko’rinadi.
13) Tartibga soluvchi va komplayens
PII: jurnallarda/treyslarda, auditning WORM-omborlarida yashirish/taxalluslashtirish, kirishni nazorat qilish.
Hududiylik: foydalanuvchi maʼlumotlarini ruxsat etilgan yurisdiksiyalardan tashqariga chiqarmaslik.
Hisobot: regulyatorlarga rasmiylashtirilgan xatlar/bildirishnomalar - shablonlar va eskalatsiya jarayoni.
14) O’qitish va tayyorgarlik (Game-Day)
Har chorakda o’tkaziladigan mashg’ulotlar: «PSP qulashi», «o’yin provayderi mavjud emas», «p99 portlash», «kalit sizib chiqishi».
MTTA/MTTR, retro mashqlar bo’yicha taymerlar.
Runabuklar va aloqalarni yangilash, ChatOps buyruqlarini tekshirish.
15) Tayyorlik chek-varaqasi (hodisaga qadar)
1. SEV qoidalari va eskalatsiya matritsasi kelishib olindi.
2. On-call rotatsiyalari, IM/TL/Comms/Scribe tayinlandi.
3. Asosiy stsenariylar bo’yicha Runabuki (to’lovlar, o’yinlar, DB, keshlar, navbatlar).
4. SLO-karta va burn-rate alertalar, maqom sahifasi.
5. ChatOps-bot: buyruqlar, avtokonteks, maqom namunalari.
6. PIR namunalari va hodisa kartochkalari.
7. Muntazam game-day va kontaktlar/huquqlar taftishi.
8. Freze siyosati va «qizil tugma» (rollback/kill-switch).
16) Antipatternlar
Yagona IM yo’q, «olomon etakchilik qilmoqda» → tartibsizlik va kechikishlar.
SLO geytlarining yo’qligi → kech deteksiya, shovqinli alertlar.
Hodisa paytida freze → kaskad nosozliklarisiz chiqariladi.
Loglar va treyslar etarli emas, artefaktlar yo’q → zaif PIR.
Ayblov madaniyati → yashirin xatolar, eskalatsiyadan qo’rqish.
«Ilhom» kommunikatsiyalari → Biznes/foydalanuvchilar ishonchini yo’qotish.
17) Namunalar (wikiga nusxa oling)
A) Hodisa kartochkasi (YAML)
yaml id: INC-2025-11-005 title: PSP-X timeouts in TR/BR sev: SEV1 start_at: 2025-11-05T12:07:00+02:00 status: active impact: "Deposits via PSP-X failing for ~18% users (TR, BR)"
im: "@oncall-im"
tl: "@oncall-pay"
comms: "@oncall-comms"
scribe: "@oncall-scribe"
mitigations:
- "Reroute to PSP-Y"
- "Enable retries and raise timeouts"
next_update_in: "20m"
links:
grafana: "<dashboard-url>"
traces: "<tempo-link>"
logs: "<loki-query>"
runbook: "payments/psp_timeout"
B) Maqom-yangilash (ichki)
[12:25] SEV1 PSP-X timeouts — TR/BR
Impact: ~18% deposits affected. SLO fast-burn active.
Mitigation: Rerouting to PSP-Y; retries enabled; release freeze.
ETA next update: 12:45 EET
IM: @oncall-im TL: @oncall-pay
C) PIR (shapka)
Summary, Impact, Timeline, Root Cause (tech+org),
Detections/Defenses, Action Items (owner+due), Lessons Learned.
Yakunlar
Hodisalarni kuchli boshqarish - bu tuzilma + intizom: oldindan kelishilgan rollar, SLO-geytlar, ishlab chiqilgan runabuklar, shaffof kommunikatsiyalar va «begunoh» PIR. Bunday kontur MTTA/MTTRni qisqartiradi, toʻxtash narxini pasaytiradi, foydalanuvchilarning ishonchini mustahkamlaydi va yanada dadil, ammo xavfsiz reliz qilish imkonini beradi.