Post Mortem (пост мортем) — это анализ причин, шагов, последствий инцидента, который проводится после его завершения.
Во время инцидента важно как можно быстрее восстановить систему, а во время постмортем важно докопаться до причины и решить, какими действиями можем вероятность повторения снизить.
Post Mortem — это не поиск виноватых, а поиск (системных) проблем и возможностей для улучшений в продукте/процессах.
Это как "разбор полетов" в авиации — детальное изучение того, что пошло не так, почему это произошло и как предотвратить подобное в будущем.
Примеры сбоев и проведенного пост-мортем
Пример 1: Сбой базы данных
Ситуация: База данных упала на 2 часа, не записано 10% новых данных
Post Mortem выявил:
- Отсутствие мониторинга свободного места на диске
- Неправильная настройка алертов (учитывали только 100% заполнения диска)
- Отсутствие процедуры быстрого восстановления
Результат: Внедрили мониторинг дискового пространства, настроили алерты на 80% заполнения, создали playbook восстановления
Пример 2: Медленная работа API
Ситуация: API стал отвечать за 5-10 секунд вместо 200мс
Post Mortem выявил:
- Не задокументировали в changelog добавление новой таблицы и индексов
- Обнаружили запросы в стиле "N+1"
- Отсутствие мониторинга производительности запросов к БД
- Неправильная настройка connection pool
Результат: Оптимизировали запросы, добавили APM мониторинг, настроили алерты на время ответа
Основные цели Post Mortem
Post Mortem — это не просто отчет об инциденте и том, что сломалось. Бывает, что у разных на первый взгляд сбоев, есть одна причина и проводя анализ, можно это выявить и одним фиксом убрать два бага.
Инцидент — это зарегистрированный сбой, Проблема — это причина сбоя. Разные сбои могут быть связаны с одной проблемой.
Предотвращение повторений — создавать конкретные планы действий, которые снизят вероятность похожих проблем в будущем.
Учиться на ошибках — искать не "кто виноват", а "какие процессы и системы позволили этому произойти". Часто инцидент — это симптом более глубоких проблем в архитектуре или процессах. И не всегда это объясняется просто отсутствием времени.
Типичные ошибки при проведении Post Mortem
Поиск виноватых вместо системных проблем
Проблема: Фокус на том, "кто накосячил", а не на том, "какие процессы позволили этому произойти"
Решение: Используй принцип "Blameless Culture" — ищи системные причины, а не индивидуальные ошибки
Поверхностный анализ
Проблема: Остановка на первом найденном объяснении без глубокого анализа
Решение: Используй технику "5 Why" — задавай вопрос "почему" минимум 5 раз
Отсутствие конкретных действий
Проблема: Много разговоров, мало конкретных шагов
Решение: Каждый Post Mortem должен заканчиваться списком Action Items с дедлайнами
Игнорирование человеческого фактора
Проблема: Фокус только на технических аспектах
Решение: Анализируй также процессы коммуникации, принятия решений, эскалации
FAQ
Когда нужно проводить Post Mortem?
Обязательно для всех инцидентов с высоким или средним влиянием на бизнес. Для мелких проблем можно делать краткий анализ в чате или на стендапе. Критерий — если инцидент потребовал привлечения нескольких человек или длился больше 15 минут.
Кто должен участвовать в постмортем?
Основные участники: команда, которая решала инцидент, представители затронутых сервисов, менеджер команды. Опционально: представители бизнеса (если было серьезное влияние), архитекторы, специалисты по безопасности.
Как долго должен длиться пост мортем?
Пост мортем может (и это нормально) состоять из нескольких встреч: до первой собираем основную фактуру, на первой выявляем основных участников и короткий список причин для проработки, на второй и след. обсуждаем вместе с фактурой причины.
Обязательно по результатам каждой встречи ставить задачи на конкретных участников. Не нужно растягивать весь процесс.
Таким образом, на средний инцидент может уйти 1-2 часа, на крупные больше - до 4 часов.
Что делать, если команда не хочет проводить?
Сотрудники всегда боятся, что именно их обвинят в ошибке, поэтому вместо того чтобы публично защищаться - они могут не приходить. Поэтому начни с малого — делай краткий анализ в чате после каждого инцидента. Покажи ценность на примере — как Post Mortem помог решить конкретную проблему. Постепенно команда увидит пользу и начнет подбрасывать факты, а потом начнете разборы онлайн.