Как обновить графитовые метрики? - PullRequest
0 голосов
/ 12 ноября 2018

Я работаю над инструментом мониторинга SLA, для которого я использовал kafka-streams для обработки потоков в реальном времени и источник данных графита в качестве хранилища временных рядов. Все работает, как ожидалось, за исключением позднего сценария.

Например: у меня есть несколько компонентов, обрабатывающих входящие данные. Каждый компонент обрабатывает данные и отправляет свое начальное и конечное событие в мою систему мониторинга.

  • Пример данных обрабатывается Компонентом 1, и он отправляет 2 события мониторинга в мою систему и отправляет данные в Компонент 2.
  • образец данных обрабатывается Компонентом 2, и он отправляет 2 события мониторинга в мою систему и отправляет данные в Компонент 3.
  • Пример данных обрабатывается Компонентом 3, и он отправляет 2 события мониторинга в мою систему.

Если общее время, затраченное всеми компонентами на обработку данных, превышает заданное время, SLA нарушается. SLA составляет 10 секунд (например). Фактическое время, необходимое для обработки данных, составляет 8 секунд (что означает SLA MET), но по какой-то причине последнее событие не пришло вовремя в kafka-потоки (возможно, застряло в теме kafka). Оно пришло через 15 секунд. Поскольку срок действия этого окна уже истек, данные помечаются как нарушение SLA, и счетчик SLA-BREACH увеличивается в графите. по мере того, как позднее событие поступает в потоки кафки, оно попадает в предыдущее окно, SLA пересчитывается и помечается как метрики SLA, а метрики SLA-MET увеличиваются в графите. Теперь проблема в том, как уменьшить количество SLA-BREACH одновременно в графите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...