От разрозненных логов до полной наблюдаемости
Централизованный мониторинг, трассировка и метрики приложений
Вызов
Платформа обрабатывает данные из десятков ресторанов в реальном времени: выручка, посещаемость, онлайн-заказы. При этом разобраться в причинах инцидента было крайне сложно: логи были разбросаны по отдельным контейнерам, внутренние вызовы между сервисами никак не фиксировались, а метрики состояния приложений не собирались вовсе. Каждый инцидент превращался в многочасовой детектив.
Что было сделано
Полный стек наблюдаемости: централизованные журналы, сквозная трассировка и мониторинг приложений в изолированном контуре.
Централизованное журналирование
Развёрнута единая система сбора и хранения логов. Журналы всех сред агрегируются в одном месте: нужный фрагмент находится за секунды с помощью полнотекстового поиска, а аномалии видны сразу на дашборде.
Распределённая трассировка
Добавлена сквозная трассировка на уровне всего стека микросервисов. Каждый внешний запрос порождает дерево внутренних вызовов с временными метками на каждом шаге. Теперь видно, какой именно сервис добавляет задержку.
Мониторинг приложений и бизнес-метрик
Метрики состояния сервисов (память, сборщик мусора, пул соединений, HTTP-запросы, пользовательские показатели бизнес-логики) собираются автоматически и визуализируются в едином дашборде.
Изолированная среда наблюдаемости
Журналы, трассировки и метрики вынесены в отдельный изолированный контур, не зависящий от прикладных сред. Это позволяет одновременно наблюдать за разработкой, стейджингом и production.
Было / Стало
Когда мы впервые увидели полный путь запроса от входа до базы данных — стало понятно, почему отдельные отчёты грузились медленно. Проблема, которую не могли найти месяцами, решилась за один день.