GH GambleHub

Пост-інцидентні розбори

1) Навіщо потрібні пост-інцидентні розбори

Пост-інцидентний розбір (post-mortem/AAR) - це структурований процес навчання організації після збою. Мета - не пошук винних, а виявлення кореневих і сприяючих причин і закріплення вимірюваних дій (CAPA), які знижують ризик повторення і вартість інцидентів, покращуючи SLO, MTTR і довіру клієнтів/регуляторів.

2) Принципи (Just Culture)

Без звинувачень: аналізуємо системи, рішення і контекст, а не персоналії.
Факти важливіші за думки: таймлайн, логи, метрики, трейси, артефакти змін.
E2E-погляд: від симптомів на клієнті до внутрішніх залежностей і зовнішніх провайдерів.
Перевірюваність: кожна гіпотеза підтверджується експериментом/даними.
Замикання циклу: розбір → CAPA → контрольні точки → ретест.

3) Коли запускати розбір і які бувають формати

Обов'язковий: SEV-0/1; порушення SLA/регуляторних вимог; витік даних; значущий PR-ризик.
Прискорений (light): SEV-2 з помітним впливом або повторюваними симптомами.
Комунікаційний AAR: якщо збій торкнувся статус-сторінку/підтримку, перевіряємо SLAs апдейтів і якість повідомлень.

Терміни: чернетка за 48-72 години, фінальна версія - до 5 робочих днів (якщо не обумовлено інакше).

4) Ролі та відповідальність

Власник розбору (RCA Lead): організовує процес, веде зустріч, відповідає за якість звіту і CAPA.
Incident Commander (IC): надає фактологію інциденту і рішення.
Tech Leads (за системами): аналіз причин, що підтверджують артефакти.
Comms/Support/Legal: оцінка комунікацій та вимог комплаєнсу.
Scribe: протокол, збір доказів, дотримання структури.
Стейкхолдери продукту/бізнесу: вплив на клієнтів/оборот, пріоритизація CAPA.

5) Підготовка: що зібрати до зустрічі

Таймлайн (UTC): T0 виявлення → Tn відновлення; релізи/фіч-прапори/конфіги, статус провайдерів.
Дані спостережуваності: графіки SLI/SLO, error-rate, перцентилі, логи, трасування, скріншоти.
Контекст змін: посилання на PR/деплою, міграції БД, фіч-прапори, плани робіт.
Імпакт: порушені когорти/регіони/провайдери, хвилини простою, кредити по SLA.
Комунікації: чернетки/пости на статус-сторінці, відповіді саппорту, внутрішні анонси.
Політики/плейбуки: що повинно було відбутися по процесу, де були відхилення.

6) Методики аналізу (виберіть комбінацію)

5 Why: швидке розкриття причинного ланцюжка (ризик - надмірне спрощення).
Діаграма Ісікави (Fishbone): People / Process / Platform / Policy / Partner / Product.
Fault Tree Analysis (FTA): дедукція від події до безлічі причин (AND/OR).
Change Analysis: що змінилося в період інциденту vs стабільний стан.
Causal Graph: граф причинно-наслідкових зв'язків для складних мікросервісів і зовнішніх залежностей.
Human Factors Review: втома, інформаційний шум, неактуальні runbook'і.

7) Структура звіту (шаблон)

1. Резюме (Executive Summary): що, коли, на кого вплинуло, підсумковий статус.
2. Імпакт: SLI/SLO, користувачі, регіони/провайдери, хв. простою, фінансові/регуляторні ефекти.
3. Таймлайн (UTC): ключові події, релізи, рішення IC, комунікації.
4. Спостереження та дані: графіки, логи, трейси, дифи конфігів/схем.
5. Гіпотези та перевірки: прийняті/відкинуті, посилання на експерименти/симуляції.
6. Кореневі причини: системні/процесні/технічні (ясні формулювання).
7. Сприяючі фактори: чому не помітили/не зупинили раніше.
8. Що спрацювало/що не спрацювало: процеси, інструменти, люди.
9. CAPA: коригувальні та попереджувальні заходи з власниками/термінами/метриками успіху.
10. План верифікації: контрольні точки D + 14/D + 30, критерії закриття.
11. Версії для зовнішніх сторін: клієнтська/регуляторна (без чутливих даних).
12. Додатки: артефакти, посилання на тікети/PR, скріншоти дашбордів.

8) CAPA: Як зробити дії робочими

Кожна дія має власника, дедлайн і KPI ефекту (наприклад, зниження change-failure-rate на X%, нульовий повтор 90 днів, зменшення burn-rate в піках).
Розділяйте Corrective (виправити) і Preventive (не допустити) заходи.
Прив'язуйте до policy-as-code: альберти, SLO-гейти, автоскейл/ліміти, GitOps.
CAPA потрапляє в публічний беклог з оглядами на щотижневих операційних зустрічах.

9) Перевірка ефекту і закриття

Контрольні точки: D + 7 (проміжно), D + 14/D + 30 (основні), D + 90 (підсумок).
Верифікація: тести/симуляції (game day), shadow-трафік, спостережуваність (стабільні SLI в зеленій зоні), відсутність рецидивів.
Закриття можливе тільки при виконаних CAPA і підтверджених метриках.

10) Комунікації та комплаєнс

Внутрішні: зрозумілий статус для продуктових/підтримки/менеджменту, SLA апдейтів дотримані.
Зовнішні: статус-сторінка, розсилки клієнтам/партнерам; мова без звинувачень, чіткий план запобігання.
Регуляторика: терміни повідомлень, деперсоналізація прикладів, незмінне зберігання звітів і артефактів.

11) Метрики зрілості процесу

Час публікації звіту: факт vs SLA (наприклад, ≤5 робочих днів).
CAPA completion rate: % дій, закритих вчасно.
Reopen rate: частка інцидентів-повторів за 90 днів.
Частка системних причин vs «людська помилка».
Алерт-гігієна: зниження помилкових пейджів, зростання покритих runbook'ами алертів.
Зміна DORA-метрик: MTTR, change-failure-rate до/після.

12) Чек-листи

Перед розбором

  • Визначено власника RCA та склад учасників.
  • Зібраний таймлайн і артефакти (логи/графіки/релізи/прапори).
  • Оцінено імпакт по когортах/регіону/провайдерам.
  • Підготовлені чернетки розділів «Імпакт» і «Таймлайн».
  • Релевантні політики/плейбуки зіставлені з фактичними діями.

Під час

  • Зафіксовані прийняті/відхилені гіпотези і підстави.
  • Визначені кореневі і сприяють причини.
  • Сформований CAPA-план з KPI і термінами.
  • Узгоджені версії звіту для зовнішніх сторін (при необхідності).

Після

  • Звіт опубліковано вчасно, доступ за ролями.
  • CAPA занесені в беклог, власники підтверджені.
  • Призначені контрольні точки і міні-симуляція для перевірки.
  • Оновлені runbook/SOP/алерти/документація.

13) Анти-патерни

«Винна людина X» - без системних причин → повтор.
Звіт без CAPA або без власників/термінів - папір заради паперу.
Немає фактів/артефактів - висновки на відчуттях.
Занадто спільна мова («перевантаження БД») без конкретних змін.
Ігнорування комунікацій та комплаєнсу - репутаційні ризики.
Закриття без перевірки ефектів - рецидиви через тижні.

14) Міні-шаблони

Шапка звіту


Incident: INC-2025-10-31 (SEV-1)
Window: 2025-10-31 18: 05-18: 47 UTC
Owner of the analysis: @ rca-lead
Affected: EU region, payments (success -28% peak)
Status: corrected; 48 hours monitoring

Формулювання кореневої причини (приклад)

💡 Комбінація: (1) зміна валідатора карти ↑ p95 до 1. 2 c, (2) таймаут до PSP-A 1 c без бюджетованих ретраїв, (3) відсутність canary для провайдера. Це призвело до масових таймаутів і падіння успіху платежів.

CAPA (фрагмент)

Включити canary-маршрутизацію до PSP-A (1%→5%→25%), власник: @payments -tl, до: 2025-11-07, KPI: нульові P1 інциденти при релізах провайдерів 30 днів.
Переналаштувати таймаути/ретраї із загальним часом ≤ SLA 800 мс, власник: @platform -sre, до: 2025-11-05, KPI: p99 <600 мс під навантаженням N.
Додати бізнес-SLI по BIN-когортам, власник: @data -lead, до: 2025-11-10, KPI: детекція деградацій <5 хв.

15) Вбудовування в щоденну практику

Щотижневі RCA-рев'ю: статус CAPA, нові уроки, оновлення процесів.
Каталог пост-мортемів в wiki з тегами (сервіс, SEV, причини) і пошуком.
Симуляції за мотивами інциденту через 2-4 тижні для перевірки заходів.
Включення уроків в онбординг on-call і оновлення навчальних сценаріїв.

16) Підсумок

Пост-інцидентні розбори - це механізм системного поліпшення. Коли факти зібрані, причинність доведена, дії вимірні і перевірені, організація накопичує операційний капітал надійності: падають MTTR і повторні інциденти, зростає передбачуваність релізів і довіра клієнтів.

Contact

Зв’яжіться з нами

Звертайтеся з будь-яких питань або за підтримкою.Ми завжди готові допомогти!

Telegram
@Gamble_GC
Розпочати інтеграцію

Email — обов’язковий. Telegram або WhatsApp — за бажанням.

Ваше ім’я необов’язково
Email необов’язково
Тема необов’язково
Повідомлення необов’язково
Telegram необов’язково
@
Якщо ви вкажете Telegram — ми відповімо й там, додатково до Email.
WhatsApp необов’язково
Формат: +код країни та номер (наприклад, +380XXXXXXXXX).

Натискаючи кнопку, ви погоджуєтесь на обробку даних.