Привет, Хабр! Меня зовут Павел Степуро, я исполнительный директор ДИТа «Занять и Сберегать» в Сбере. 

Вы по-прежнему работаете в ИТ, сопровождаете автоматизированные системы и уже ознакомились с моей первой статьёй про путь от создания базовой системы мониторинга к системе автоматизации и принятия решений

Именно поэтому вы находитесь здесь… И это продолжение пути.

Итак, вы создали систему мониторинга мечты! У вас уже есть посекундный сбор критичных метрик: инфраструктурных, прикладных и бизнес-метрик, и вы думаете о дальнейшем развитии.

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

И сделать это можно с помощью ML predict-модели, которая будет предсказывать поведение метрик на 15 минут вперёд.

Как мы получили 15 минут? 

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

15 минут — это некий баланс между точностью прогноза, его глубиной и возможностью как автоматической, так и ручной реакции при получении соответствующего своевременного оповещения. По оповещению от ML predict‑a можно настроить как услуги auto healing/auto-recovery, так и полностью ручной разбор в случае, если сценарий новый или не понятен. 

Какие метрики предсказывать и чем их кормить

Какие метрики можно использовать для прогноза и какие можно предсказывать? Модель успешно справляется с инфраструктурными, прикладными и бизнес-метриками. Для корректной настройки и повышения качества точности модели используется основная метрика, которая предсказывается, и вспомогательные (обычно их 5-6), которые делают более точным предсказание той, за которой необходимо следить. 

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

А почему ML? Базовой линии тренда недостаточно? 

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

Посмотрим на примере работы конкретной модели, насколько точно она предсказывает события. Оранжевая линия будет показывать метрику, идущую с опережением на 15 минут вперёд, синяя — реальные значения метрик. 

Три скорости автоматизации: от auto-healing до ручного разбора

Что делать с результатом прогноза по метрике? Есть варианты с полной автоматизацией: auto-healing/auto-recovery с уровня системы мониторинга при безакцептном принятии решений. И есть вариант, когда автоматизация происходит с контролем второй руки на уровне администратора или сотрудника дежурной смены. 

А по сценариям, которые ещё не исследованы и непонятны, происходит автоматическая регистрация инцидента и сбор необходимых компетенций в конференцию. Здесь у нас есть те самые 15 минут для проведения анализа и выполнения ряда мероприятий для предотвращения негативного влияния на клиента.

Кто настраивает эту магию?

Для настройки ML-модели и повышения точности вам понадобится две роли сотрудников: Data Scientist и Data Analyst (из числа имеющихся у вас сотрудников, которые будут на 10-20% выделены под эти задачи).

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

Для базовой настройки модели не нужны большие мощности и суперкомпьютер. На самом деле, базовая модель для предсказания обучается и на локальном ноутбуке, то есть погружение в мир ML и для компании среднего бизнеса не представляется критичным. Также нет необходимости искать отдельно Data Scientist-а, достаточно выделить роли в текущей команде. Главное, чтобы специалисты уделяли этим задачам некоторое время.

Кроме того, отсутствует и необходимость в огромном хранилище данных, потому что достаточно выбрать ключевые метрики, которые нужно предсказать, и предсказывающие метрики (мы уже знаем, что их 5-6). 

При частоте сбора в 1 минуту (получается 5-6 метрик в минуту) это просто точки на графике с их значениями. В хранилище за сутки будет занят небольшой объём данных, порядка нескольких мегабайтов, даже при необходимости сохранять метрики достаточно длительное время. 

О сроке годности

Время жизни самой модели ограничено. Как минимум раз в квартал её необходимо переобучать. Это требуется и в моменты, когда изменяется ваш КТС, ваши производственные мощности, бизнес-функциональность или поведение клиентов. В банковской сфере это могут быть ситуации, когда меняются ставки рефинансирования, объявляются акции, либо в периоды локальных high season (государственные праздники) или отдельных high season под Новый год. 

Как не потерять репутацию модели у администраторов АС

Достаточная точность модели порядка 80%. Соответственно, если система спрогнозирует 5 событий, четыре из которых на самом деле могли повлиять на работу вашей системы, то это хороший показатель.

Важно понимать, что часть событий ML спрогнозировать не в состоянии, и полной точности у модели не существует: это те события, когда нарушается работа сети или рунета в целом (трактор перерезал оптический кабель). Такие события ни одна из моделей предсказать не сможет.