Sage — это
Sage обеспечивает прозрачность
В статье расскажем, как появился Sage, какие архитектурные решения помогают ему выдерживать большие нагрузки и за что его любят пользователи и команда.
Платформа мониторинга и
Sage — это
Sage обеспечивает прозрачность
В статье расскажем, как появился Sage, какие архитектурные решения помогают ему выдерживать большие нагрузки и за что его любят пользователи и команда.
Как мы создали Sage
Т‑Банк — это не только банк. Это еще брокер, мобильный оператор, страховая компания и другие сервисы. Все они с самого начала создавались с расчетом на использование в онлайне. Это значит, что критически важно поддерживать SLA и обнаруживать проблемы раньше, чем они причинят ущерб. Такое возможно, только если выстроить качественный мониторинг на всех уровнях — от инфраструктуры до
Изначально инструменты мониторинга в Т‑Банке представляли собой солянку из десятков инстансов Zabbix, ELK, Graylog, Prometeus и др. Такой зоопарк не позволял делать сквозной анализ, настройка алертинга была болью. Не говоря уже о сложности его администрирования.
Чтобы сделать мониторинг более централизованным, развернули Splunk — универсальную платформу для обработки машинных данных. С частью систем Splunk интегрировался автоматически, для других настроили заливку логов руками. Аналитики были очень довольны:
В 2019 году Splunk скоропостижно покинул Россию, продлить лицензию стало невозможно. Идеальной замены на рынке не было, наступать второй раз на грабли вендорлока тоже не хотелось. Приняли решение разработать собственный инструмент — так появился Sage.
Мы хотели переехать на Sage бесшовно, для этого нужно было иметь:
Собрали небольшую команду из опытных инженеров, и уже через год Sage был на проде. Переезд со Splunk завершился успешно.
Sage под капотом
Sage — это высоконагруженная система, распределенная на несколько
Логи. Именно логи дольше всего существуют в Sage, дают самую большую нагрузку и занимают больше всего места.
В качестве БД для логов используется Elasticsearch, общий объем порядка 7 ПБ, пиковый поток 3
Поток логов необходимо выравнивать и ограничивать квотами, для этого используем Kafka и свой аналог Logstash.
Метрики. Для хранения метрик мы используем VictoriaMetrics в кластерной конфигурации. Для сбора метрик разработали компоненты, которые поддерживают
Трейсы. Исторически трейсинг развивался независимо. В 2023 году интегрирован в Sage, завершив таким образом классическую триаду телеметрии.
Mage — поисковый движок, ключевой компонент Sage. Изначально мы разработали Mage вместе с языком запросов MageQL для бесшовного переезда со Splunk, продолжаем активно его развивать. Основные фичи:
Пример запроса на языке MageQL
Алерты. Собственный движок алертов позволяет писать и запускать триггеры на JavaScript, это делает логику максимально гибкой. В коде триггера можно выполнять
Anomaly Analyzer. Собственная система анализа данных на основе машинного обучения, которая автоматизирует обнаружение аномалий и прогнозирование
Anomaly Analyzer использует статистические алгоритмы для выявления отклонений от нормального поведения в бизнес- и технических показателях. Применение Anomaly Analyzer в наших процессах помогает быстрее находить инциденты.
Grafana. Для визуализации метрик в Sage используется Grafana. Мы написали плагин, чтобы можно было использовать MageQL в качестве датасорса.
Команда и стек
Sage — это в первую очередь про высокие нагрузки, быструю обработку запросов и оптимальную утилизацию ресурсов. Поэтому конкретные языки и технологии мы используем, если именно они дадут максимальный эффект. Большинство компонентов написаны на .NET, Kotlin, Go, JS.
Инженеры на стенде Sage на конференции HighLoad++ 2023
Команда Sage — высококлассные специалисты, которые любят свою работу и продукт. Звучит, как дежурная фраза из вакансии, но это настоящая правда. В чем причина такой любви?
Маскот Sage
В переводе с английского Sage означает «мудрец», поэтому для нас Sage — «он», хоть и платформа
Sage для внешних пользователей
С 2023 года Sage перестал быть чисто внутренней историей. Мы проделали огромную работу, чтобы, как мы говорим, «оторвать его от земли» и начать продавать другим компаниям.
Одним из первых наших клиентов стало АО «НСПК» — оператор платежной системы «Мир». На высоких нагрузках и надежности они съели стаю собак, поэтому особенно приятно, что они выбрали Sage в качестве инструмента для мониторинга.
Направление настолько бурно развивается, что под него есть отдельная команда интеграций. Ребятам даже пришлось написать свой фреймворк для развертывания Sage вне Т‑Банка.
Благодаря команде вы можете попробовать Sage прямо сейчас. Речь о
Зарегистрировали Sage в реестре российского ПО.
Что это значит для нас?