Hodisalar va SRE pleybuklari
1) Hodisa nima va uning SLO bilan qanday bog’liqligi
Hodisa - SLO/xizmat funksiyasini buzadigan yoki buzilish xavfini tug’diradigan hodisa (noto’g "ri budjet nomaqbul tezda yonadi).
Klassik metriklar: MTTD, MTTA, MTTR, MTBF.
Byudjet xatosi va burn-rate eskalatsiya oynalarini belgilaydi.
2) Jiddiylik darajasi (SEV) va mezonlari
SEV triggerlari: 5xx% dan oshishi, p95> chegara, to’lov decline spike, Kafka-lag> chegara, NodeNotReady> X min, TLS <7 kun, DDoS/sizib chiqish signallari.
3) Rollar va javobgarlik (RACI)
Incident Commander (IC) - yakka tartibda qarorlar qabul qilish, vazifalar oqimi menejmenti, SEV maqomini oʻzgartirish.
Ops Lead (Tech Lead) - texnik strategiya, gipotezalar, fikslarni muvofiqlashtirish.
Communications Lead (Comms) - maqom-yangiliklar (ichki/tashqi), StatusPage/chat/pochta.
Scribe - taymline, yechimlar, artefaktlar, grafik/loglarga havolalar.
On-call Engineers/SMEs - pleybuklar bo’yicha harakatlarni bajarish.
Security/Privacy - xavfsizlik yoki PII hodisalarida kiritiladi.
FinOps/Payments - billing/PSP/qiymatga ta’sir etganda.
4) Hodisaning hayot sikli
1. Detekt (alert/report/sintetika) → hodisaning avto-kartasini yaratish.
2. Triaj (IC tayinlangan, SEV tayinlangan, minimal kontekstni to’plash).
3. Barqarorlashtirish (mitigation: fichu/rollback/rate-limit/failover).
4. Tekshirish (RCA-gipotezalar, faktlarni to’plash).
5. Servisni tiklash (validate SLO, kuzatuv).
6. Kommunikatsiya (ichki/tashqi, yakuniy hisobot).
7. Postmortem (ayblovlarsiz, CAPA-reja, egalari, muddatlari).
8. Prevention (testlar/alertlar/pleybuklar/bayroqlar, jamoani qayta tayyorlash).
5) Kommunikatsiyalar va «war-room»
Yagona hodisa kanali (’#inc-sev1-YYYMMDD-hhmm’), faqat faktlar va harakatlar.
Radio protokol uslubidagi buyruqlar: "IC: rollback versiyasi 1. 24 → ETA 10 min".
Maqom-apdeytlar: SEV-1 har 15 daqiqada, SEV-2 - har 30-60 daqiqada.
Status Page/tashqi aloqa - shablon boʻyicha Comms Lead orqali.
Taqiqlangan: parallel «sokin» xonalar, umumiy kanalga tekshirilmagan gipotezalar.
6) Alerting va SLO-burn (qoidalar namunasi)
Tez kanal (1-5 daqiqa) va sekin kanal (1-2 soat) burn-rate.
Multi-signallar: byudjet xatosi, 5xx%, p95, Kafka-lag, to’lov decline-rate, sintetika.
Birlamchi sabablarni izlash - simptomlar barqarorlashgandan keyingina.
promql
Ошибочная доля 5xx > SLO sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.01
Burn-rate быстрый (пример)
(sum(rate(http_requests_total{status=~"5.."}[1m])) / sum(rate(http_requests_total[1m])))
/ (1 - SLO) > 14.4
7) Pleybuki vs ranbuki
Pleybuk - hodisa turi bo’yicha harakatlar (tarmoqlanish, shart-sharoitlar, tavakkalchiliklar) stsenariysi.
Ranbuk - qadamlar/jamoalarning aniq «xaritasi» (tekshirishlar, fikslar, verifikatsiya).
Qoida: pleybuk bir nechta ranbuklarga (rollbacks, feature-flags, failover, masshtablash, trafikni blokirovka qilish va boshqalar) murojaat qiladi.
8) Hodisa kartochkasining namunasi
yaml id: INC-YYYYMMDD-XXXX title: "[SEV-1] Рост 5xx на API /payments"
status: active monitoring resolved sev: 1 reported_at: 2025-11-03T17:42Z ic: <ФИО>
ops_lead: <ФИО>
comms_lead: <ФИО>
scope: regions: [eu-west-1], tenants: [prod], services: [api, payments]
impact: "5xx=12% (обычно <0.5%), конверсия депозитов -20%"
mitigation: "откат на 1.23.4, включен rate-limit 2k rps, фича X выключена"
timeline:
- "17:42: алерт SLO burn-rate быстрый"
- "17:46: назначен IC, открыт war-room"
- "17:52: найден релиз 1.24 как кандидат"
- "18:02: откат завершен, 5xx вернулись к 0.3%"
artifacts:
dashboards: [...]
logs: [...]
traces: [...]
risk: "возможен очередной всплеск при включении фичи X"
next_steps: "канареечный релиз, тесты, постмортем до 2025-11-05"
9) SRE pleybuk namunasi (Markdown)
markdown
Плейбук: <название>
Область/симптомы
Список детекторов, сигнатуры в метриках/логах/трассах.
Быстрая стабилизация (Triage & Mitigation)
- [ ] Ограничить трафик/включить WAF-правило/фичефлаг OFF
- [ ] Роллбэк/канареечный релиз/выкатить фикс конфигурации
- [ ] Включить деградационный режим (read-only, кэш-форс)
Диагностика (RCA hints)
- Метрики: … Логи: … Трассы: …
- Частые первопричины/чек-лист гипотез
Риски и коммуникации
- Внутренние/внешние апдейты, SLA-обязательства
Верификация
- [ ] SLO восстановлено (порог/время окна)
- [ ] Нет регресса по смежным сервисам
Последующие действия
- CAPA, задачи в backlog, обновление алертов/дашбордов/плейбука
10) Namunaviy pleybuklar
10. 1 API 5xx Spike
Barqarorlashtirish: muammoli ficheflagni o’chirish; API replikalarini oshirish; keshni yoqish; relizning qaytarilishi.
Diagnostika: diff reliz, log xatolari (top-exceptions), p95 o’sishi, pressure BD/kesh.
Tavakkalchiliklar: to’lovlar/bekendlardagi kaskad.
10. 2 БД: replication lag / lock storm
Barqarorlashtirish: og’ir job/reportajlarni to’xtatib turish; oʻqishni ustaga yoʻnaltirish; wal_buffers/replika-sloty ko’paytirish.
Diagnostika: uzoq tranzaksiyalar, so’rovlarni blokirovka qilish, rejani o’zgartirish.
Belgilash: indeks/xint, joblarni qayta rejalashtirish, so’rovlarni bo’lish.
10. 3 Kafka consumer lag
Barqarorlashtirish: consumerlarni vaqtincha ko’paytirish; tanqidiy bo’lmagan xizmatlardan ishlab chiqarishni kamaytirish; partiyalar/kvotalarni ko’paytirish.
Diagnostika: rebalances, sekin deseralizatsiya, GC pauzalari.
Tekshirish: lag → maqsadli qiymatga, toʻsiqlar yoʻq.
10. 4 K8s NodeNotReady/resurs bo’roni
Barqarorlashtirish: cordon + drain; yuklamalarni qayta taqsimlash; CNI/overlay ni tekshirish; shovqinli DaemonSet’larni oʻchirish.
Diagnostika: disk pressure, OOM, throttling, network drops.
Profilaktika: pod disruption budgets, resurs limitlari/requests.
10. 5 TLS/sertifikatlar muddati tugaydi
Barqarorlashtirish: sirni majburiy yangilash/ingress; vaqtinchalik override.
Diagnostika: ishonch zanjiri, clock-skew.
Profilaktika: alert T-30/T-7/T-1, avto-renyual.
10. 6 DDoS/anormal trafik
Barqarorlashtirish: WAF/bot-qoidalar, rate-limit/geo-filtrlar, upstream shed load.
Diagnostika: hujum profillari (L3/4/7), manbalar, «soyabonlar».
Profilaktika: anycast, autoscaling, keshing, provayderlar bilan play-nice.
10. 7 To’lov PSP-auteyj
Barqarorlashtirish: muqobil PSP/usullarga smart-routing; jitter bilan retry ko’tarish; «yumshoq» degradatsiya UI.
Diagnostika: kodlar, API maqomi/PSP maqom sahifasi boʻyicha rad etish spike.
Kommunikatsiyalar: biznes va sapport uchun shaffof yangilanishlar, ND/konversiyaning to’g "ri statistikasi.
10. 8 Xavfsizlik hodisasi/PII sizib chiqishi
Barqarorlashtirish: uzellarni izolyatsiya qilish/sir-rotatsiya, eksfiltratsiyani blokirovka qilish, Legal Hold.
Diagnostika: taymline kirish, ta’sirlangan subyektlar/maydonlar.
Xabarnomalar: yurisdiksiya talablari bo’yicha tartibga soluvchilar/sheriklar/foydalanuvchilar.
Profilaktika: DLP/segmentatsiyani kuchaytirish, «least privilege».
11) Pleybuklarni avtomatlashtirish
ChatOps buyrugʻi: ’/ic set sev 1’, ’/deploy rollback api 1. 23. 4`, `/feature off X`.
Runbook-botlar: yarim avtomatik qadamlar (drain node, flip traffic, purge cache).
Self-healing xuki: detektor → standart mitigation (rate-limit, restart, scale).
Alertlar va jamoalardan avto-kartochkalar/taymlaynlar yaratish.
12) Pleybuklar sifati: chek-varaq
- Aniq alomatlar va detektorlar (metriklar/loglar/trassalar).
- Xavfni baholash bilan barqarorlashishning tez qadamlari.
- Buyruqlar/skriptlar stagingda tekshirilgan.
- SLO tiklanishini tasdiqlash.
- Tashqi yangilanishlarning kommunikatsiya shablonlari va mezonlari.
- Postmortem havolasi va yopilgandan keyin CAPA.
13) Postmortem (blameless) va CAPA
Maqsad: aybdorni topish emas, o’rganish.
Mazmuni: nima sodir bo’ldi, qanday qilib yaxshi/yomon bo’lganini aniqladingiz, omillarning hissasi (they + jarayonlar), oldini olish uchun harakatlar.
Muddati: SEV-1 - 48 soat mobaynida; SEV-2 - 3 ish kuni.
CAPA: aniq egalari, muddatlari, o’lchanadigan effektlari (MTTR pasayishi/MTTD o’sishi).
14) Huquqiy jihatlar va dalillar bazasi
Legal Hold: loglar/trassalar/alertlarni muzlatish, write-once saqlash.
Artefaktlarni saqlash zanjiri: rollar bo’yicha kirish, yaxlitlikni nazorat qilish.
Tartibga soluvchi bildirishnomalar: yurisdiksiyalar uchun muddatlar/shablonlar (ayniqsa, to’lovlar/PII ta’sir ko’rsatganda).
Maxfiylik: tahlil qilishda PIIni minimallashtirish va niqoblash.
15) Hodisalar jarayoni samaradorligi metrikasi
MTTD/MTTA/MTTR choraklar va domenlar bo’yicha.
SEV (underrating/overrating) ning toʻgʻriligi.
Avto-mitigeyt bilan bog’liq hodisalar ulushi.
Top-N stsenariylarni pleybuklar bilan qoplash (> 90%).
CAPAni o’z vaqtida bajarish.
16) Bosqichlar bo’yicha joriy etish
1. 1-hafta: SEV matritsasi, on-call rollari, umumiy kartochka shabloni, war-room reglamenti.
2. 2-hafta: Top-5 alomatlar uchun pleybuklar (5xx, BD-lag, Kafka-lag, NodeNotReady, TLS).
3. 3-hafta: ChatOps/botlar, avto kartochkalar yaratish, aloqa shablonlari/StatusPage.
4. Hafta 4 +: Xavfsizlik pleybuklari, PSP-auteyji, Legal Hold, muntazam drill/xaos o’yinlari.
17) «tezkor» ranbuklarga misollar (parchalar)
Rollback API (K8s)
bash kubectl rollout undo deploy/api -n prod kubectl rollout status deploy/api -n prod --timeout=5m
Верификация:
kubectl -n prod top pods -l app=api
Drain node
bash kubectl cordon $NODE && kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --timeout=10m
Feature-flag OFF (misol)
bash curl -X POST "$FF_URL/toggle" -H "Authorization: Bearer $TOKEN" -d '{"feature":"X","enabled":false}'
18) Mini-FAQ
Qachon SEV-1 koʻtarish kerak?
Asosiy SLO/biznes funksiyasi (to’lovlar, login, o’yin) azob cheksa va burn-rate bir soat oldin byudjetni «yeydi».
Nima muhimroq - RCA yoki tiklanish?
Har doim barqarorlik, keyin RCA. Barqarorlashuvgacha boʻlgan vaqt asosiy koʻrsatkichdir.
Hamma narsani avtomatlashtirish kerakmi?
Tez-tez va xavfsiz qadamlarni avtomatlashtiring; kamyob/xavfli - yarim-avto va IC tasdiqlash orqali.
Jami
Hodisalarning ishonchli jarayoni uchta ustunga asoslanadi: aniq rollar va SEV qoidalari, sifatli pleybuklar/avtomatlashtirilgan ranbuklar va postmortemlar madaniyati ayblovlarsiz. Shablonlarni tuzating, on-call mashq qiling, MTTR/noto’g’ri byudjetni o’lchang va detektorlar va pleybuklarni doimiy ravishda yaxshilang - bu to’g’ridan-to’g’ri xavflarni va to’xtab qolish narxini kamaytiradi.