Это пример postmortem, специально сделанный для курса SRE на основе оригинального постмортема с правками по типу анонимизации, скрытия данных по NDA и т.д.

Created: September 27, 2024 4:57 PM
Владелец постмортема: maksim-gusev
Incident Commander: m.gusev
Авторы: m.gusev
Время инцидента: September 27, 2024 16:19 (GMT+3) → 16:55
Затронутые сервисы: infrastructure
Status: Done
Канал инцидента: link-to-slack-mattermost-etc
Community Specialist: Иван
Эксперты и остальные: Иван
Время даунтайма: 2024/09/27 16:19 (GMT+3) → 16:55
Severity: SEV-1

Причина и последствия

Не грузились картинки в приложении/сайте, также киоски и кассы словили белый экран. CDN улетел на anti-ddos провайдер, который начал блочить трафик, и CDN закешировал ответ.

Последствия для бизнеса

Количество потерянных заказов: 0
Недополученная прибыль: 0
Заведения простояли в “стопе”: 0

Хронология

  • 16:21 - Саша присоединился к каналу.
  • 16:21 - Леша присоединился к каналу.
  • 16:21 - Паша присоединился к каналу.
  • 16:21 - Максим присоединился к каналу.
  • 16:21 - Дима присоединился к каналу.
  • 16:21 - В 16:14 отписали в anti-ddos провайдер о том, что обнаружили блокировки, они пошли уточнять.
  • 16:22 - Андрей присоединился к каналу.
  • 16:22 - Ваня присоединился к каналу.
  • 16:23 - https://link-to-pull-request по переключению CDN.
  • 16:23 - Отключили защиту руками у anti-ddos провайдера.
  • 16:24 - Anti-ddos провайдер: 16:23 :Настроили обеление по заголовку HIDDEN-HEADER-REQUEST, трафик нашли. Ситуация должна стабилизироваться в течение 5 минут.
  • 16:24 - Илья присоединился к каналу.
  • 16:24 - @Ваня, есть какие-то жалобы от клиентов?
  • 16:25 - Антон присоединился к каналу.
  • 16:26 - В тред писали, но с тех пор время прошло. У меня сейчас не воспроизводится, непонятен импакт.
  • 16:26 - А от клиентов и КЦ сейчас жалобы есть?
  • 16:26 - Паша присоединился к каналу.
  • 16:27 - Пока нет. Но от КЦ всегда инпутлаг.
  • 16:27 - Так уже 30 минут прошло, давай спросим.
  • 16:28 - Костя присоединился к каналу.
  • 16:34 - Антон присоединился к каналу.
  • 16:36 - У разрабов узнал, что импактит яндекс-страны.
  • 16:37 - На кассе белый экран, не грузится импортмап.
  • 16:37 - Обращаются массово пиццерии с белым экраном в приложении кассира. Связано?
  • 16:38 - Миша присоединился к каналу.
  • 16:40 - Возможно. Сейчас починилось? Есть возможность проверить?
  • 16:40 - Сбросили кэш CDN Яндекса, картинки пошли.
  • 16:41 - https://link-to-importmap открывается плохо.
  • 16:41 - У нас импортмапы не грузятся в кассе.
  • 16:41 - 504 даёт.
  • 16:43 - Проблема остается, белый экран просто висит.
  • 16:44 - Хотим ещё кассе поменять. Как минимум, PR подготовим.
  • 16:49 - Пока не починилось, проверили на нескольких.
  • 16:51 - Всё ещё?
  • 16:51 - Вроде импортмап открывается, катить PR по кассе не будем.
  • 16:53 - Вот только Новосибирск написал, что заработало.
  • 16:53 - Сколько было заафекшенных точек?
  • 16:54 - Скорее всего, относительно мало, в кассе есть кэш на этот импортмап + обычно фронт не перезагружается.
  • 16:55 - По заказам не было проседания.
  • 16:55 - Если бы релиз фронтенда катнули в этот момент, было бы намного больнее, но пронесло.
  • 16:57 - Инцидент закрыт.

Первопричина

При переключении CDN не учли, что трафик может быть заблокирован anti-ddos провайдером, и правила необходимо настроить до переключения.

Действия, которые помогли решить инцидент

Обращение в anti-ddos провайдер и настройка правил фильтрации трафика.

Действия во время инцидента

Что прошло как по маслу

  • Оперативно сработали и поняли, в чем проблема, подключили саппорт anti-ddos провайдера.

Что пошло не так и нужно улучшить

  • Перед переключением ресурсов, стоящих за anti-ddos провайдером, надо убедиться, что все настройки применены на новый конфиг.

В чем нам повезло

  • Сбой не повлек падение заказов.

Решения

Каждое решение должно быть в виде карточки в Kaiten, с соответствующей ссылкой на задачу в постмортеме, и должно принадлежать одной из категорий:

detect - задачи на улучшение обнаружения проблем

investigate - задачи на облегчение исследования причин во время и/или после инцидента

mitigate - задачи на снижение импакта от проблем

other - все, что не подошло ни под одну категорию, но важно

prevent - задачи на предотвращение проблем

process - задачи на улучшение наших процессов

ЗадачаОтветственныйКатегорияСсылка на задачу
Переписать ранбук по работе с CDNМаксимPrevent/processlink-to-task
Настроить автоматическое уведомление о блокировках от anti-ddos провайдераАндрейDetectlink-to-task
Разработать план действий на случай повторного сбояИванMitigatelink-to-task
Провести тренинг по управлению инцидентами для командыАнтонProcesslink-to-task

Пройди этот чеклист, когда напишешь решения

  • Убедитесь, что у каждой задачи есть ссылка на трекер задач, указана ответственная команда.
  • Обязательно покройте 2 наиболее критичных вида решений: связанных со смягчением и предотвращением похожих инцидентов в будущем.
  • Убедитесь, что решения по постмортему реалистичны (проконсультируйтесь со стейкхолдерами и СТО).

Прочее

  • Провести ретроспективу инцидента с командой, чтобы извлечь уроки и улучшить процессы.
  • Рассмотреть возможность внедрения автоматизированных тестов для проверки корректности настроек CDN.