Оқыс оқиғаларды басқару
(Бөлім: Технологиялар және Инфрақұрылым)
Қысқаша түйіндеме
Тосын оқиғаларды басқару - бұл пайдаланушы құндылығын тез қалпына келтіру және бизнеске келтірілген зиянды барынша азайту процесі. Тірек - нақты рөлдер (Incident Manager, Tech Lead, Comms), SLO-гейттер, эскалациялар, ChatOps-процестер, дайындалған рунабуктар және өлшенетін action items бар «кінәсіз» инциденттен кейінгі талдаулар.
1) Мақсаттар мен қағидаттар
Жылдамдық және қауіпсіздік: жылдам диагноз → қауіпсіз тұрақтандыру → тұрақты қалпына келтіру.
Жалғыз иесі: тағайындалған Incident Manager (IM) процестік шешімдерді қабылдайды.
Өнім ретінде коммуникация: стейкхолдерлер мен пайдаланушылар үшін болжамды апдейттер.
Деректер> пікірлер: SLO/метрика/трейстер/логи - шындық көзі.
Blameless: жеке айыптаусыз себептерді талдау; жүйелі жақсартуларға назар аударады.
2) Оқыс оқиғаларды жіктеу (Severity/Impact/Urgency)
Severity (мысал):- SEV1 (күрделі): түсімге/TTW/төлемдерге елеулі залал,> 20% пайдаланушылар немесе тұтас өңірлер; SLA бұзылған/PII қатері.
- SEV2 (жоғары): негізгі ағындардың ішінара тозуы (депозит/ставка/ойындарды іске қосу), 5-20% әсері.
- SEV3 (орташа): қайталама сервистердің едәуір құлдырауы, айналып өту бар.
- SEV4 (төмен): шағын, шектеулі әсері, SLO/SLA әсері жоқ.
Impact: кім қозғады (барлығы/өңір/тенант/арна). Urgency: тозу жылдамдығы (қателер бюджеті бойынша fast-burn/slow-burn).
3) Оқыс оқиғаның өмірлік циклі
1. Detect - алгоритмдерден/SLO/синтетикадан/репортаждардан сигнал.
2. Acknowledge - on-call қабылдауды растайды, IM тағайындайды.
3. Triage - SEV/Impact бағалау, гипотеза жинау, War-Room ашу.
4. Mitigate - тұрақтандыру (кері/бағытты ауыстырып қосу/фичефлагтар/масштабтау).
5. Communicate - тұрақты статус-апдейттер (ішкі/сыртқы).
6. Recover - SLO/бизнес-метрикті толық қалпына келтіру.
7. Close - хронологияны бекіту, артефактілерді жинау, PIR (RCA + action items).
4) Рөлдер және жауапкершілік (RACI-схема)
Incident Manager (IM) - процестің иесі, рөлдерді тағайындайды, уақытты бақылайды, процестік шешімдерді қабылдайды (R).
Technical Lead (TL) - диагностика/гипотезалар/фикстер жүргізеді, инженерлерді үйлестіреді (A/R).
Communications (Comms) - статус-апдейттер, қолдау/бизнеспен байланыс/PR, статус-бет (R).
Scribe - хаттама (таймлайн, қабылданған шешімдер, сілтемелер, артефактілер) (R).
Stakeholders - өнім/төлемдер/ойын провайдерлері/қауіпсіздік (C/I).
SEV1 минимум: IM + TL + Comms + Scribe. SEV2 рөлдерді біріктіруге жол беріледі.
5) War-Room и ChatOps
Жеке арналар: '#incident -warroom- <id>' (жұмыс), '#incident -status' (тек апдейттер).
Үлгілік командалар: '/incident start ', '/status update', '/call <owner> ', '/rollback', '/freeze ', '/scale + N'.
Бот контекст тартады: соңғы релиздер, дашбордтар, байланысты алерталар, trace exemplars, тәуелділік схемалары.
Қарым-қатынас ережелері: қысқаша, фактілер бойынша, бір спикер (TL), IM модерациялайды.
6) Триггерлер мен гейттер
SLO-гейттер: fast/slow burn, төлем конверсиясының құлдырауы, TTW p95> табалдырық, p99 API ↑, төлем кезегі «жанып тұр».
Автоматты әрекеттер: stop canary, rollback, degrade режимін қосу (функцияларды шектеу), жоғары жиілікті синтетиканы қосу.
Freeze: тұрақтандыру және PIR дейін барлық релиздер/аяқ көшіру.
7) Типтік сценарийлер (рунабук-паттерндер)
A) Төлемдер: PSP-де таймауттардың/істен шығулардың өсуі
1. Stop promote және төлем контурының релиздерін мұздату.
2. PSP бағытын сақтық бағытқа ауыстыру, саясат бойынша таймаутты/ретрацияны көтеру.
3. Аяқталмаған транзакцияларды сәйкестендіру, қайталау.
4. Comms → саппорт коммуникациясы: резерв жұмыс істейсіз бе? ETA.
B) API p99 ↑ және 5xx шығарылғаннан кейін
1. Кері бұрылу (blue-green/canary → stable).
2. Кэш-хит, кезектердің тереңдігін, БД/ойын провайдерлерінің ыстық нүктелерін тексеру.
3. Уақытша масштабтау, feature flags арқылы ауыр сызықтарды шектеу.
C) Ойын провайдері қол жетімді емес
1. Трафикті қолжетімді студияларға/ойындарға ауыстыру, статус баннерін көрсету.
2. Әрбір 30-60с синтетикалық тексерулерді қосу.
3. Өтемақыларды/бонустарды (саясат бойынша) келісу - PIR-ге енгізу.
D) PII-ге ағып кету/күдік
1. Компонентті оқшаулау, кілттерді/токендерді ревокациялау, логтарды жинау (WORM).
2. Құқықтық коммуникацияны/реттеушіні келісу.
3. Инциденттен кейінгі әрекеттер: құпия-ротация, бүркемелеу, қол жеткізу.
8) Коммуникация (ішкі/сыртқы)
Апдейт жиілігі: SEV1 - әрбір 15-30 минут, SEV2 - 30-60 минут.
Ішкі мәртебе үлгісі:- Бұзылған нәрсе: «PSP-X арқылы депозиттер: таймауттардың өсуі.»
- Кімге әсер етті: «TR/BR, ~ ағынды пайдаланушылардың 18%.»
- Қашан басталды: «12:07 EET, SEV1.»
- Не істейміз: «Маршрутты PSP-Y-ге ауыстыру, ретрациялар/мөлшерлемені шектеу қосылған.»
- Келесі жаңарту: «20 минуттан кейін.»
- Байланыс: «IM @duty -im, TL @oncall -pay.»
Жария мәртебе (бет/әлеуметтік желі) - қысқартылған, PII және артық бөлшектерсіз, ETA және одан әрі жаңартуларға сілтеме.
9) Артефактілерді жинау және аудит
Таймлайн оқиғалар (минуттық дәлдік), сервистердің нұсқалары, фича-жалаулар, конфигурацияларды өзгерту.
Дашбордтардың түсірілімдері, болжамды трассалар (trace_id), логи «дейін/кезінде/кейін».
Тикеттер, PR, релиздер, рунабуктарға сілтемелер.
Коммуникациялар бойынша есеп (қашан/кімге/не).
Бәрі де оқыс оқиғаның карточкасына қосылады.
10) Жабу және PIR (Post-Incident Review)
PIR (қысқа) пішімі:- Түйіндеме: не болды, масштабы, ұзақтығы, SEV.
- Әсері: пайдаланушылар/өңірлер, SLO/SLA, қаржы. әсері.
- Таймлайн: егжей-тегжейлі, минуттар бойынша.
- Root Cause: техникалық + ұйымдастырушылық (неге бұрын анықталмаған).
- Detections & Defenses: көмектесті/әкелді (алерта, синтетика, фичефлагтар).
- Action Items: нақты тапсырмалар, иелері, мерзімдері (және нәтижесін қалай тексереміз).
- Lessons Learned: процесте/архитектурада/бақылауда нені өзгертеміз.
Ережелер: айыптаусыз, максималды фактілерсіз, орындалған тармақтарды тексерудің 2-4 аптасынан кейін міндетті follow-up.
11) Процестің сенімділік өлшемдері
MTTD (Mean Time To Detect) - орташа табу уақыты.
MTTA (… Acknowledge) - on-call растағанға дейін.
MTTR (… Restore) - SLO қалпына келтірілгенге дейін.
Change Failure Rate - оқиғаларға әкелген релиздер%.
SEV бойынша Incident Rate, домендер бойынша бөлу (Payments/Games/Infra).
Alert Quality: шулы/жалған үлесі, әрекеттен кейінгі уақыт.
Комм-SLA: статус-апдейттердің кезеңділігін сақтау.
12) SLO және релиздермен интеграциялау
CD-дегі гейттер: жасыл SLO-прокси (availability, p95, conv, TTW) кезінде ғана канареяны жарнамалау.
Freeze-процедуралар: fast-burn/SEV1 кезінде - PIR дейін релиздерді тоқтату.
Автоаннотациялар бағандарда: релиздер/жалаулар/көші-қон дашбордтарда көрінеді.
13) Реттеуіш және комплаенс
PII: логтарда/трестерде бүркемелеу/псевдонимдеу, WORM-аудит қоймасы, қолжетімділікті бақылау.
Аймақтық: пайдаланушы деректерін рұқсат етілген юрисдикциялардың шегінен шығармау.
Есептілік: реттеушілерге ресімделген хаттар/хабарламалар - үлгілер және эскалация процесі.
14) Оқыту және дайындық (Game-Day)
Тоқсан сайынғы жаттығулар: «PSP құлдырауы», «ойын провайдері қол жетімді емес», «p99 жарылысы», «кілттің жылыстауы».
MTTA/MTTR таймерлері, жаттығулар бойынша ретро.
Рунабуктар мен контактілерді жаңарту, ChatOps командаларын тексеру.
15) Дайындық чек-парағы (инцидентке дейін)
1. SEV-ережелері мен эскалация матрицасы келісілді.
2. On-call ротациясы, IM/TL/Comms/Scribe тағайындалған.
3. Негізгі сценарийлер бойынша рунабуктар (төлемдер, ойындар, ДБ, кэштер, кезектер).
4. SLO-карта және burn-rate алерта, статус-бет.
5. ChatOps-бот: командалар, автоконтекстер, күй үлгілері.
6. PIR үлгілері және инцидент карточкалары.
7. Тұрақты game-day және контактілерді/құқықтарды тексеру.
8. freeze саясаты және «қызыл түймешік» (rollback/kill-switch).
16) Антипаттерндер
Бірыңғай IM жоқ, «топ көш бастап келеді» → хаос және кідірістер.
SLO-гейттердің болмауы → кеш детекция, шулы алерталар.
Оқиға кезінде freeze → каскадтық ақауларсыз шығару.
Логтар мен трестер жеткіліксіз, артефактілер жоқ → әлсіз PIR.
Айыптау мәдениеті → жасырын қателер, эскалация қорқынышы.
Коммуникация «шабыт бойынша» → бизнес/пайдаланушылардың сенімін жоғалту.
17) Үлгілер (wiki-ге көшіріңіз)
А) Инцидент карточкасы (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) Статус-апдейт (ішкі)
[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 (бас киім)
Summary, Impact, Timeline, Root Cause (tech+org),
Detections/Defenses, Action Items (owner+due), Lessons Learned.
Оқыс оқиғаларды күшті басқару - бұл құрылым + тәртіп: алдын ала келісілген рөлдер, SLO-гейттер, пысықталған рунабуктер, ашық коммуникациялар және «кінәсіз» PIR. Мұндай контур MTTA/MTTR қысқартады, тоқтап тұру құнын төмендетеді, пайдаланушылардың сенімін нығайтады және батыл шығаруға мүмкіндік береді - бірақ қауіпсіз.