TGViewer
Happy Devops — сообщество адекватных инженеров Happy Devops — сообщество адекватных инженеров @happy_devops · 1.8K subscribers
Post #153 1.53K
Пациент скорее жив?

Мониторинг — моя любимая тема. Могу говорить часами про него. И сегодня поговорим про метрики работоспособности бизнес-логики. Их еще некоторые называют "продуктовыми" метриками, но это неверно

Итак, замониторить состояние сервисов — задача привычная и тривиальная. Сервис работает, трафик ходит, БД отзывается, значит все ок. Рисуем зелененький кружочек. Но вот только пользователям, как правило, все равно, что у вас все работает. Если не работает пользовательский сценарий, значит не работает приложение (или его часть). И то, что инфраструктура у вас в полном порядке, не говорит, ровным счетом, ни о чем

Значит, нужно мониторить сценарий бизнес-логики. И вот тут начинается самое интересное. Зачастую люди полагаются на золотые сигналы или, например, считают, что достаточно дернуть хвост API и померить там лэтенси или вообще, сам факт того, что он отвечает. Но, зачастую, бизнес-процесс является распределенной транзакцией, ходит в несколько сервисов, да еще и в определенной последовательности. А еще круче, если у вас, например, внутри есть какие-то p2p-транзакции между инстансами одного сервиса или между сервисами.

Можно поставить APM и соорудить там карту вызовов и все такое. Но нет, инфру не хотелось утяжелять в данном случае, да и объем трафика таков, что эластик в данном конкретном примере потребовал бы к себе очень много внимания. Да и доработка кода тоже прошла бы не быстро.

Ну и че делать-то, в итоге? В итоге, я сделал так.

Каждый сервис, абсолютно каждый, умеет отдавать ровно 2 метрики (на самом деле гораздо больше конечно, но нас интересуют две): это лэтенси последнего запроса и средний лэтенси за последние N единиц времени. К сервисам все это подключается на уровне дополнительной либы просто и не требует от разрабов вообще никаких телодвижений. Ну и на уровне мониторинга мы просто собираем цепочку вызовов для проверки любой последовательности обращения к API. Сумма (или перцентиль, тут уж от ситуации зависит) наших метрик и будет нашим пиком на графике

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

А еще такие дашборды очень любит бизнес, потому что там все реально понятно
  • 👍 8
  • ❤ 2
More from @happy_devops
  1. Nov 28, 2025⚡ Совместный карьерный митап от Звук и self, сообщества для поддержки айтишников. Как стро…
  2. May 29, 2025🔥 База знаний тимлида: как въехать в процессы быстро и безболезненно! Подкаст Виктор Коре…
  3. Apr 16, 2025Дорогие друзья, уже на следующей неделе, 23 апреля в Амфитеатре Санкт-Петербургского конгр…
  4. Mar 28, 2025Eventual Consistency: когда доступность важнее мгновенной согласованности Eventual consist…
  5. Mar 26, 2025Гонка за новым функционалом не должна превращать систему в «хрупкого гиганта». SRE-практик…
  6. Mar 19, 2025Strong Consistency: между производительностью и надежностью данных Strong consistency — кл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →