Skip to content

rbkmoney/fault-detector

Repository files navigation

Fault-Detector

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

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

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

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

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

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

About

RBKmoney External Provider Fault Detection Service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages