Перейти к содержанию

Что делать если все сломалось?

К предыдущему посту было написано достаточно много полезных комментариев и один из них представляет собой очень достойный чек-лист от Андрея. Вся годнота внутри 👇

Часть 1. Организационная.

1. Без паники и суеты.

Потому что Все уже упало и главное не сделать хуже

Сообщи начальнику: "Упал прод. Разбираюсь в проблеме. Займет Х мин"

Потому что в компании не только ты и прод, но ещё:

  • Начальник к которому скоро придут с вопросом: "Какого ... не работает?!"
  • Саппорт у которого оборвется телефон
  • Менеджеры по работе с клиентами, которых тоже достанут вопросом: "Какого ... ?! + До вашего суппорта не дозвониться"

Про указание времени на починку:

  • "Наверху" обязательно назовут какую-то цифру из головы, поэтому лучше, когда эта информация идёт от тог, кто хоть что-то понимает в системе.
  • Если со временем ошибся - ничего страшного, потом сообщишь, что займет больше времени.
  • С опытом придет понимание сколько времени требуется на устранение проблем.

2. Сообщи коллегам в рабочий чат

Потому что самое плохое, когда 2 человека что-то меняют на проде не сговариваясь(да ещё и руками, потому что надо быстро)

  • Один откатывает изменения
  • Другой смотрит половина CICD не отработала и катит обратно

3. Переходи к решению проблемы


Часть 2. Техническая.

Открываем текстовый редактор

Записываем ключевую информацию по проблеме: время, куски логов, какими командами дебажили, ссылки на pipeline и т.д.

Потому что потом надо будет разобраться почему так произошло, а из-за стресса ты забудешь половину действий и будешь путаться в деталях

1. Пойми проблему. Воспроизведи проблему. Локализуй проблему.

С опытом это делаешь на автомате, но для джунов надо объяснить на примерах:

  • Если сайт упал - это не значит, что надо сразу надо бежать перезагружать nginx, даже если в предыдущие 100 раз это было так.

  • Надо сначала проверит открывается ли сайт от тебя? А с сервера?

  • Может проблема на компе сообщившего о проблеме?

  • Может недоступен один файл на сайте?

  • Может проблема в только в московском филиале, а в Новосибирске работает?

  • Может проблема в интернете, DNS или просто пользователь забыл включить VPN для доступа к корпоративной сети? И т.д.

2. Собери информацию.

Помни, что у тебя открыт твой любимый тестовый редактор. Внеси туда что и как проверяешь.

3. Сформируй гипотезу.

Если ничего не понятно:

  • Загляни в корпоративную wiki(или в git), потому что только там описано, как система работает.
  • Посмотри документацию разработчиков. Например: тикеты на GitHub, если это что-то open source.
  • Гугли.
  • Спрашивай у коллег в общем чате. Все заинтересованы быстрее починить, потому что от этого зависит доход компании и ваша премия.
  • Подумай про восстановление из бэкапа.
  • Если зашёл в тупик собери всех в видео чате, пошарь экран.

4. Проверь свою гипотезу.

Не забудь записать результаты.

Потому что потом пригодится на "разборе полетов".

5. Повторяй шаги 3 и 4 пока не решишь проблему.

6. Убедись, что проблема решена.

Свяжись с сообщивщем о проблеме. Убедись, что у него тоже проблема решена.


Часть 3. Разбор полетов.

Если упал прод, то тебе зададут эти вопросы(или часть из них). Лучше подготовить ответы заранее.

  • Не переходи на личности. Обсуждай только техническую часть проблемы.

  • Где произошла проблема?

  • Когда возникла проблема?

    • Сколько времени прошло на определение проблемы?
    • Сколько времени прошло на локализацию проблемы?
    • Когда проблему передали инженеру?
  • Отработал ли мониторинг?

  • Когда исправили?

  • Что произошло?

  • Как исправили?

  • Можно ли было восстановить из бэкапа?

    • Почему не восстановили из бэкапа?
  • Причина аварии?

  • Что было сделано неправильно?

  • Последствия отказа?

  • Количество жалоб абонентов?

  • Что надо сделать, чтобы авария не повторилась?

  • Что надо сделать для уменьшения последствий аналогичных отказов?

  • Составь план по устранению последствий и причин аварии

    • Укажи ответственных за каждый пункт

ㅤЧитать первым в Телеграм

Комментарии