Закономерности по времени

В какие часы падают сервисы: как разглядеть системные сбои за шумом в журнале заявок

Большинство команд смотрят на сбои в моменте - через графики мониторинга. Но мониторинг показывает только сам «пожар», а не его первопричину. В результате регулярные поломки нередко списываются на случайность, а ресурсы команды больше тратятся на тушение симптомов вместо устранения источника проблемы.

Задача

Более глубокий разбор времени инцидентов позволяет получить от журнала данных не просто статистику, а дополнительную практическую пользу:

  1. Развести конфликтующие процессы. Отличить разовую аварию от регулярного сбоя, вызванного «наложением» фоновых задач (резервное копирование, обмен данными, релизные окна, тяжёлые ночные расчёты).
  2. Провести аудит качества данных и процессов. Выявить системные искажения в учёте - например, технический спам от сканеров и проверок, падающий в журнал одной секундой, - и учесть ложные утренние пики, когда ночные сбои регистрируют только в 09:00.
  3. Получить аргументы для подрядчиков и графиков смен. Опереться на жёсткие факты (число недель, система, конкретный час) при пересмотре SLA с вендорами или при формировании дежурств, вместо того чтобы распределять людей наугад.

Алгоритм описательной аналитики автоматически разбирает журнал инцидентов, фильтрует единичные выбросы и показывает, где кроется ошибка расписания, а где - естественный рабочий ритм.

Как алгоритм ищет закономерности

Чтобы понять реальную картину инцидентов, алгоритм использует два метода описательной аналитики.

  • Оценка долей времени недели: когда нужна команда

    Основа: все инциденты делятся на три группы: стандартные рабочие часы (будни с 9:00 до 18:00), вечер и ночь в будни, выходные. В расчёт берутся даже незакрытые заявки, так как время их возникновения уже зафиксировано.

    В чём суть: рабочие часы будней составляют всего 27% от времени всей недели. Если на этот период приходится, допустим, 43% инцидентов, значит, оставшиеся 57% сбоев происходят тогда, когда в офисе никого нет. Уже есть повод задуматься, как правильно распределить дежурных и работу.

  • Поиск «необычного часа»: где спрятан системный сбой

    Самый загруженный час - это ещё не аномалия. Днём всегда больше активных пользователей и заявок. Поэтому алгоритм ищет не максимумы, а отклонения от привычного ритма.

    Сравнение со своей нормой: ночь четверга сравнивается с ночами других будних дней, а суббота - с воскресеньем. Если каждую неделю в четверг в 02:00 заявок вдвое больше, чем в среду или пятницу, - это уже расписание, а не просто нагрузка.

    Проверка на повторяемость: разовая крупная авария, сгенерировавшая 30 заявок за 60 минут, не признаётся системой как закономерность. Аномалия фиксируется, только если сбои в этот час повторяются в разные недели.

    Поиск ежедневных пиков: отдельно выявляется час, который каждый день стабильно загруженнее соседних. Так выглядят ресурсоёмкие ежедневные задачи, например резервное копирование или ночные расчёты.

    Честность данных: если график сбоев представляет собой случайный разброс, система не будет выдумывать «худшее время» искусственно. Отчёт прямо укажет: «необычных часов нет».

Работа с реальными данными: ловушки учёта

Журналы инцидентов не бывают идеальными. Задача алгоритма - распознавать нужные артефакты сбора данных и не давать ложных срабатываний там, где имеет место человеческий или технический фактор.

  • Как алгоритм обрабатывает искажения в данных

    Разовая крупная авария: шквал из десятков заявок за один час система классифицирует как единичный инцидент, а не как повторяющуюся закономерность. Искать расписание здесь не нужно.

    Технический спам одной минутой: если сотни записей появляются ровно в 02:00, система определяет это как время записи скриптом или автоматической проверкой, а не время поломки, и не ищет по этим записям закономерность.

    Утренние пики вместо ночных инцидентов: если сервис упал ночью, но заявку зарегистрировали только с приходом сотрудников в 9:00, возникает ложный всплеск. Отчёт предупредит о такой вероятности, чтобы команда могла внедрить автоматический ночной мониторинг для проблемных сервисов.

    Ограничения форматов: если в выгрузке присутствуют только даты, система не выдумывает фиктивный час «00:00», а проводит анализ строго по дням недели. Если время записано в UTC - напомнит о необходимости сдвига на локальный часовой пояс.

Матрица решений: что делать при обнаружении аномалий

Характер аномалииВозможная причинаДействия команды
Один и тот же день и час в неделюнапример, четверг 02:00Еженедельный обмен, формирование тяжёлого отчёта, окно релизов, плановые работы провайдераРазвести конфликтующие задания по времени; добавить автоматическую проверку после релиза; пересогласовать окно с вендором
Каждый день в одно и то же времянапример, 04:00Резервное копирование, ночные расчёты, перезапуск пула службРаспределить задания планировщика; выделить дополнительные мощности под конкретное ночное окно
Пики в конце рабочих смен или недельРабота «теневого ИТ»: запуск тяжёлых пользовательских макросов, массовые выгрузки данных бизнес-отделамиВыявить инициатора (по логам базы данных или балансировщика), оптимизировать запросы, перенести выполнение на нерабочее время
Регулярные всплески в час, когда никаких заданий нетВнешняя автоматизированная активность: агрессивный парсинг, подбор паролей, несанкционированные интеграции через APIОграничить частоту запросов (Rate Limit), обновить правила межсетевого экрана (WAF), заблокировать аномальные IP-адреса
Обычный ритм без закономерностейОбычная нагрузка: днём больше, ночью меньшеОтказаться от поиска несуществующих проблем в расписании систем. Переключиться на графики дежурств и автомасштабирование ресурсов (Auto Scaling) под дневные пики

Пример 1. Скрытый сбой по расписанию

Ситуация: торговая сеть с интернет-магазином регистрирует около 1100 инцидентов в год. Сотрудники жалуются, что ночной обмен данными часто падает, но на общем фоне этого не видно.

Четверг 02:00-03:00: 37 сбоев вместо обычных 4. Повторялось в 32 неделях из 52.

Что показал анализ: в четверг с 02:00 до 03:00 фиксируется 37 сбоев при норме в 4 для этого времени. Ситуация повторялась 32 недели из 52. Главный источник - 1С:ERP.

Результат: вместо размытых споров команда получает точное время и систему. Перенастройка расписания фонового задания устраняет более 30 регулярных ИТ-аварий в год и избавляет склад от утренних простоев.

Пример 2. Оптимизация дежурств вместо поиска «призраков»

Ситуация: руководитель поддержки хочет изменить график смен, подозревая регулярные всплески нагрузки по ночам.

Будни с 9 до 18 - 43% сбоев. Вечер, ночь и выходные - 57%. Необычных часов нет.

Что показал анализ: на рабочие часы (27% времени недели) приходится 43% инцидентов. Остальные 57% распределены по вечерам, ночам и выходным. Ни один час не выбивается из общей нормы - «необычных часов» нет.

Результат: искать «худшее окно» и ломать график людей под случайный разброс не имеет смысла. Стоит заняться регламентом дежурств: чётко определить, какие из этих 57% сбоев требуют немедленного подъёма инженера ночью, а какие могут ждать утра.

Как выбрать окно для плановых работ

Плановые работы (обновления, миграции, замена оборудования) рискованны сами по себе. Если поставить их туда, где и так регулярно что-то падает, два сбоя сложатся, и потом не понять, что уронило систему. Отчёт помогает выбрать окно по трём признакам:

  1. Не в найденный необычный час. Если отчёт нашёл «четверг 02:00» или «каждый день 04:00», в этот час уже работает какое-то задание. Работы поверх него спорят с ним за ресурсы, а разобрать потом, кто кого уронил, трудно.
  2. Туда, где сбоев мало и есть кому чинить. На тепловой карте отчёта светлые клетки - часы, когда сбоев меньше всего. Ночь и выходные обычно тише, но и людей меньше: доли по периодам недели показывают, сколько сбоев придётся на окно, а ваш график дежурств - кто будет на месте, если работы пойдут не так.
  3. С поправкой на время регистрации. Если в журнале время заявки, а не время поломки, ночной сбой выглядит утренним. Тихая ночь в отчёте может значить, что ночью просто никто не смотрел.

Так выглядит тепловая карта в отчёте: строки - дни недели, столбцы - часы. Чем темнее клетка, тем больше сбоев; светлые клетки - кандидаты для плановых работ. Пунктирная рамка - будни с 9 до 18. Красная рамка - час, который выбивается из обычного ритма (здесь четверг 02:00, 37 сбоев): туда работы не ставить.

Чего отчёт не знает: график дежурств, пики бизнеса (распродажи, закрытие месяца) и цену работ в нерабочее время. Эти данные добавляете вы - и из тихих часов остаются те, где есть люди и нет пика продаж.

Итог: как применять данные в работе

Анализ времени сбоев - это инструмент управления ресурсами, который напрямую влияет на три направления:

  • Умное расписание людейГрафик смен формируется под реальную долю инцидентов в разные периоды недели, а не под иллюзию, что «ночью всё спокойно».
  • Безопасное расписание системРелизы, бэкапы и тяжёлые выгрузки не запускаются в часы, которые алгоритм уже подсветил как проблемные. Найденная аномалия - первый кандидат на аудит и перенос расписания.
  • Объективный диалог с подрядчикамиЕсли выявленный «проклятый час» стабильно совпадает с окном работ провайдера, на руках есть точная фактура: количество инцидентов, число недель, пострадавшие системы. Это аргумент для переноса окна обслуживания или пересмотра SLA в договоре.
Тот же разбор на ваших данных - «Запустить анализ» на главной →

Все данные обрабатываются изолированно и не передаются третьим лицам.