Шаблон інженерного постмортему (без звинувачень, придатний до дій)
Чому постмортеми перетворюються на сесії звинувачень
Постмортеми провалюються у специфічний спосіб: кімната починає призначати причину ще до того, як має спільну хронологію. Хтось каже «це спричинив деплой» до того, як підтверджено час деплою. Хтось інший каже «алерт не спрацював», не знаючи, чи алерт було налаштовано під цей сценарій. Розмова перетворюється на дебати про причинність ще до того, як хтось встановив, що насправді сталося і в якому порядку.
Виправлення структурне: побудуйте хронологію інциденту разом на початку постмортему, перш ніж хтось назве кореневу причину. Коли вся кімната поглянула на послідовність подій — що змінилося коли, хто що бачив і о котрій годині — причину набагато легше обговорювати й набагато менш імовірно, що вона скотиться до звинувачень. Це та помилка в порядку, якої припускається більшість шаблонів: вони ставлять кореневу причину поперед хронології, бо коренева причина — це те, заради чого шаблон і створено. Але саме хронологія робить кореневу причину чесною.
Порядок денний (скопіюйте це)
Тривалість: 60 хвилин для простого інциденту; 90 хвилин для складних багатосистемних збоїв
Формат: із ведучим; присутні всі, хто реагував, і черговий інженер; готуйтеся асинхронно з документом для попереднього ознайомлення
Розділ 1 — Стисле резюме інциденту (5 хв)
- Дати й тривалість інциденту
- Класифікація серйозності та уражені системи
- Хто його виявив і як (звернення клієнта, алерт, інженер, моніторинг)
- Цей розділ лише фактичний; жодного аналізу поки що
Розділ 2 — Хронологія (20 хв)
- Будуйте хронологію спільно на екрані — а не заздалегідь написаний документ
- Послідовність: що змінилося, що спостерігали, хто діяв, що вирішили
- Кожна позначка часу має мати джерело (рядок логу, PagerDuty, повідомлення в Slack)
- Коли хронологія готова, спитайте: чи всі згодні, що саме так усе й сталося? Розв'яжіть розбіжності, перш ніж рухатися далі
Розділ 3 — Стисле резюме впливу (5 хв)
- Вплив на клієнтів: кого це зачепило, як довго, у який спосіб
- Вплив на бізнес: виторг, SLA, репутація
- Внутрішній вплив: години чергувань, зрив роботи команди
- Тримайте це фактичним; воно закріплює запитання «наскільки це було погано» без редакторських оцінок
Розділ 4 — Коренева причина та сприятливі фактори (20 хв)
- Коренева причина: найближча зміна чи умова, що уможливила інцидент
- Сприятливі фактори: умови, що зробили його гіршим, важчим для виявлення чи повільнішим для розв'язання
- Найкорисніші постмортеми ідентифікують 3–5 сприятливих факторів поряд із кореневою причиною; виправлення лише кореневої причини часто оминає системні умови
- По кожному фактору спитайте: чи ухвалила якась особа чи команда рішення, що видавалося розумним з огляду на доступну інформацію? Якщо так, фактор системний, а не особистий
Розділ 5 — Що вдалося добре (5 хв)
- Що у виявленні чи реагуванні спрацювало краще, ніж очікувалося?
- Який наявний процес чи інструмент обмежив радіус ураження?
- Це практики, які варто формалізувати — якщо ранбук зекономив 20 хвилин, зазначте це, щоб ранбук підтримували
Розділ 6 — Завдання (15 хв)
- Кожне завдання адресує кореневу причину чи сприятливий фактор — а не загальне поліпшення
- Один відповідальний на пункт; дата виконання, що відображає терміновість
- Категоризуйте: виявляти швидше / відновлюватися швидше / запобігати повторенню
- Обмежтеся діями, які команда реалістично зможе завершити до наступного інциденту, а не вичерпною дорожньою картою надійності
Що робить шаблони постмортему провальними
Порядок «спершу коренева причина» — головна структурна проблема, уже розглянута вище. Друга — ставлення до «завдань» як до єдиної категорії. Поліпшення виявлення, поліпшення відновлення й поліпшення запобігання потребують різних відповідальних і різних термінів. Змішування їх продукує список, що розтягується на шість місяців і три команди, а це означає, що відповідальність розсіюється й жодне з них не доходить до реалізації.
Третій режим провалу — пропуск «що вдалося добре», бо це відчувається як недоречний оптимізм після інциденту. Це не так — це єдиний систематичний спосіб ідентифікувати й формалізувати практики, що спрацювали під тиском. Якщо моніторингу, який спіймав проблему, ні в кого не було в дорожній карті на побудову, усвідомлення того, що він мав значення, варто задокументувати. Інакше його депріоритезують, коли інцидент забудеться, і наступного разу ви будете сліпі.
Накопичувана ціна інцидентів, де сприятливі фактори лишаються неусунутими, а ранбуки, що спрацювали, лишаються без підтримки, швидко зростає. Податок на наради розглядає, як накладні витрати на регулярні наради та борг з розбору інцидентів взаємодіють.
Чому захоплення постмортему унікально складне
Обговорення постмортему швидко генерує щільний, неструктурований контент: відновлення хронології, конкурентні інтерпретації, призначення завдань за участю кількох людей, технічні деталі, які без контексту не матимуть сенсу в стенограмі. Підсумок постмортему, написаний з пам'яті чи з відредагованого аудіо, майже завжди неповний, а неповні записи постмортему марні для розпізнавання патернів між інцидентами.
Pavleur захоплює все обговорення постмортему й генерує звіт автоматично — хронологію в тому вигляді, як її відновили, сприятливі фактори в тому вигляді, як їх назвали, завдання з відповідальними та категоріями в тому вигляді, як їх озвучили на нараді. Якщо хтось показував екран, щоб продемонструвати витяг з логу, графік моніторингу чи конфігурацію алерта, який не спрацював, цей візуал є частиною звіту. Суто аудіоінструменти цього повністю позбавлені; запис постмортему без графіків — це запис без доказів. Будь-хто в команді — включно з інженерами, що приєдналися після інциденту — може прочитати повний запис із візуальним контекстом, не просячи когось його відновити. Пряме порівняння з іншими інструментами за цим: Pavleur проти альтернатив.
Про частоту постмортемів
Проводьте постмортем протягом 48 годин після розв'язання інциденту, доки деталі свіжі. Що довше ви чекаєте, то більше відновлення хронології залежить від пам'яті, а не від логів, а пам'ять під стресом ненадійна. Для інцидентів високої серйозності краще 24 години. Для дрібних інцидентів асинхронні постмортеми — спільний документ зі структурованими запитаннями, переглянутий синхронно — можуть бути ефективнішими за повноцінну нараду. Формат наради найцінніший, коли інцидент був достатньо неоднозначним чи з високими ставками, щоб спільна інтерпретація мала значення.