Методы мониторинга и оповещения о проблемах с данными при работе со сложными зависимостями

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

Например;

  • "Team Orders" поддерживает базу данных Orders и интерфейсы
  • "Team Traffic" генерирует данные веб-трафика
  • "Team Warehouse" поддерживает хранилище данных
  • "Командный трафик" зависит от службы "Командный заказ" для получения данных заказа и связывания их с веб-трафиком.
  • "Team Warehouse" зависит от "данных Team Traffic" для построения таблиц DW.

Представьте, что "Командные заказы" сталкиваются с проблемой БД (нагрузка, задержка и т. Д.). Их система мониторинга предупреждает инженера, который начинает расследовать проблему БД.

В то же время, "Командный трафик" также был предупрежден, поскольку они видят всплеск плохих ответов. Они начинают расследование и быстро понимают, что проблема связана с "Командным заказом", и поднимают заявку на "Командный заказ".

Вниз по потоку от всего этого "Team Warehouse" получает неверные данные. Их мониторинг DW предупреждает их об этом отклонении, поэтому они начинают искать первопричину.

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

Важным моментом является то, что все три команды используют разные системы мониторинга и оповещения; Team Orders отслеживает проблемы с сервером БД, а Team Warehouse ищет отклонения в количестве записей.

Есть другие подходы; оповещение только в верхней части конвейера (блокирование нисходящих потоков) или оповещение в нижней части конвейера для вышестоящих систем.

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

1 ответ

Настоятельно рекомендую Практику администрирования облачных систем, подробно расскажу об этом. Здесь у нас есть 3 уровня мониторинга

  1. Конец в конец (ой дерьмо что-то не так)
  2. По службе /API (о, чёрт возьми, член кластера SQL не работает, API реагирует медленно или с чем-то отличным от кода HTTP 200/300 и т. Д.)
  3. APM - какая часть кода и т. Д. Медленная, частота ошибок для определенных служб и т. Д.

Эти + журналы дают нам большую часть того, что нам нужно знать, что происходит, как правило, у нас есть один человек, ответственный за то, что проблема решена - координируйте исправление, но они НЕ выполняют техническую работу, которая отработана. другим. Задача координатора - убедиться, что мы не наступим друг другу на ноги, решая проблему.

Другие вопросы по тегам