Skip to content

Latest commit

 

History

History
37 lines (31 loc) · 3.91 KB

README.md

File metadata and controls

37 lines (31 loc) · 3.91 KB

Fault-Detector

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

  • общее количество операций;
  • общее количество выполняющихся операций;
  • общее количество операций завершенных с ошибкой;
  • общее количество зависших операций.

Важно понимать, что данные показатели берутся у последнего преагрегата скользящего окна (в качестве алгоритма расчета берется WMA).

Принцип работы сервиса следующий:

  1. В качестве первого этапа необходимо выполнить процедуру инициализации сбора статистики для сервиса. Без этого этапа при попытке добавить операцию будет возвращена ошибка.
  2. Сервис, которому необходимо анализировать работоспособность, отправляет данные о операции в Fault Detector (далее FD), который помещает данные о операции в топик Kafka. Оттуда данные снова поступают в сервис для анализа. Это необходимо для того, чтобы в каждом экземпляре сервиса были актуальные данные.
  3. В определенный промежуток времени запускается задача, которая собирает предагрегаты операций на текущий момент. Агрегат собирает промежуточную статистику уменьшая количество расходуемой памяти. Важно: хранение операций/агрегатов происходит определенное количество времени (в т.ч. и зависшие операции), которое задает родительская система, но ограничено [10, 3600] в секундах. Более длительное хранение информации является неактуальным.
  4. При запросе статистики внешней системой происходит рассчет уровня ошибок из имеющихся агрегатов. Предагрегаты рассчитываются раз в секунду (значение по-умолчанию). Каджый из них это статистика по сервису на данный момент, т.е. количество успешных, выполняющихся, зависших и сбойных операций на момент группировки. Сам коэффициент сбойности это отношение суммы сбойных и зависших операций к общему количеству операций для сервиса. Конечный показатель сбойности, который получает внешняя система, рассчитывается по формуле WMA из рассчитаных ранее коэффициентов. Также в ответ добавляются статистические данные о операциях для последнего агрегата.

Примерный расчет расходуемой сервисом оперативной памяти