Пожалуй лучшая система мониторинга
Да, да это тот же самый стек
Наведи, чтобы узнать подробней
  • Планирование на базе анализа временных рядов
(приоритетно)
  • Планирование на базе статистического анализа
  • Корректировка планов
  • Экспорт планов для аналитики
Планирование
  • Мониторинг KPI
  • Поиск аномалий и фрод мониторинг
  • Мониторинг клиентского опыта
  • Мониторинг SLA, нагрузки, населенности
Vector.dev
Бизнес мониторинг и поиск аномалий
DBT
  • Анализ работы сервисов на основе логов и events
  • Мониторинг SLA и деградаций
  • Выявление аномалий
  • Поиск по логам, автоматические акты
Мониторинг сервисов и аномалий
  • мониторинг инфраструктуры
  • мониторинг сервисов (ресурсы, доступность )
  • мониторинг на основе snmp
  • Алертинг
Opensearch
Мониторинг инфраструктуры
Предлагаемый стек технологий и моудулей
Clickhouse
Vector.dev — это высокопроизводительный наблюдатель за логами, метриками и событиями для вашей системы наблюдения. Он обеспечивает высокую гибкость, надежность и контроль над данными. С помощью данного инструмента, разработчики могут собирать, преобразовывать и доставлять все свои данные в нужное место, стремясь увеличить эффективность и надежность их системы. Это открытое программное обеспечение нацелено на обеспечение простоты в использовании и высокой скорости обработки данных.
https://vector.dev
dbt (Data Build Tool) - это инструмент с открытым исходным кодом для извлечения трансформации данных в их хранилищах, упрощает процесс кодирования и обеспечивает прозрачность кода. Он также предлагает функции для автоматического создания документации запросов, возможность тестирования и валидации данных, что обеспечивает точность и надежность ваших данных.
https://www.getdbt.com
ClickHouse - это open-source СУБД, созданная для быстрого анализа больших объемов данных в реальном времени. Ключевыми особенностями являются высокая скорость обработки особенно агрегирующих запросов, поддержка онлайн аналитической обработки (OLAP), распределенная обработка данных на нескольких узлах, создание проекций, возможность хранения больших объемов данных за счет компрессии, SQL-совместимый синтаксис запросов но значительно обогащенный для аналитики и ML, получение инкрементов из разных СУБД на лету, работу с внешними словарями
https://clickhouse.com/
Opensearch
dashboards
OpenSearch - это бесплатная и открытая поисковая платформа, разработанная Amazon Web Services. Форк Elasticsearch и Kibana, которая предоставляет решения для индексации, поиска и анализа больших объемов данных в реальном времени.
Она может быть использована в различных сценариях, включая полнотекстовый поиск, анализ логов, мониторинг производительности, бизнес-аналитика и многое другое, благодаря своей масштабируемости и гибкости. Из коробки имеет GUI частично Алертинг, и инструменты поиска аномалий.
https://opensearch.org/

интерфейсы собственной разработки

REST API

OpenSource
BI

GUI для OpenSearch идет в коробке
ML NN Слой
prophet
пользовательские
модели и NN
Интерфейсы собственной разработки

API для внутренних продуктов и внешних систем например FastAPI

OpenSource BI (superset, redash ...)- для внутреннего использования, быстрого исследования и визуализации данных
Zabbix
Prophet - это инструмент Facebook для прогнозирования временных рядов. Его основное применение - анализ больших объемов данных для создания точных прогнозов. Prophet прост в использовании благодаря своей модельной структуре, которая устойчива к пропущенной информации и изменчивым трендам сзонности. Отличительной особенностью является учет праздников и важных событий для улучшения прогнозов.
https://facebook.github.io/prophet/
Оркестратор flow - dagster или (Air Flow)
Еще стек (массштабирование, prod)
Массштабирование
prodact deploy

kubernetes
Рзработка CI/CD тестирование

Балансировщик
HAProxy итп

ML штучки

Доп. хранилища

Аналитика
kafka
Авторизация
Аутентификация

Типовой стек для обеспечения масштабирования обеспечения непрерывной разработки, тестирования и публикации в продуктивную среду, а так же вспомогательных функций хранения и авторизации и аутентификации
gitlab
Dagster - это программно-определяемая система управления данными, позволяющая строить, тестировать и реализовывать комплексные рабочие процессы с данными. Он обеспечивает сильную типизацию схемы и структуры данных, инструменты для тестирования и отладки в реальном времени, а также встроенную поддержку для оркестровки, масштабирования и мониторинга. Dagster интегрируется с существующими стеками данных, предоставляет гибкий и модульный API, и поддерживает разработку в рамках современных практик CI/CD для непрерывного движения данных.
https://dagster.io/
Zabbix - это открытое программное обеспечение для мониторинга различных параметров сети, серверов и других сетевых устройств и услуг. Данное ПО позволяет трекерить состояние аппаратных и программных ресурсов, также контролируя доступность и производительность компонентов IT инфраструктур.
https://www.zabbix.com/ru/
ETL ELT
Data Warehouse
jupyter
GUI
ML
Prometheus - система сбор, обработки и наблюдение я за метриками работы систем (хостсов, распространенных веб сервисов, системами управления баз данных, контейнеризации итп ). Prometheus собирает численные данные в режиме реального времени.
https://prometheus.io/
mlflow
spark
Prometheus — это система мониторинга и сбора метрик с открытым исходным кодом. Она собирает, хранит и анализирует временные ряды данных, а также поддерживает мощный язык запросов PromQL и систему оповещений для выявления проблем.
https://prometheus.io/
Grafana — это инструмент для визуализации данных с открытым исходным кодом, который поддерживает подключение к различным источникам данных, включая Prometheus. Он позволяет создавать интерактивные панели и графики для наглядного отображения метрик и анализа производительности систем.
https://grafana.com/
Harbor итп
Object S3
Keycloak итп
prometheus
Grafana
VictoriaMetrics
Страшно? Дорогу осилит идущий.
Почему такой стек?

  • Типовой стек легче найти специалистов (ну почти)


  • opensource все лицензии позволяют использовать продукты для оказания коммерческих услуг



  • для баз данных есть форки в реестре РФ в перспективе ФСТЭК



  • Возможно разворачивание локально и простая миграция в облака (почти все элементы доступны как услуга ), возможна экономия на сопровождение



  • Развитие проектов командами инженеров, клиентоориентированный подход, быстрая адаптация под нужды бизнес задач, экономия High-value HR
I just SELECT * FROM TERMINAL_STAT
Немного про применяемые технологии
  • Уменьшение количества ошибок в моделях данных.
  • Повышение согласованности данных (валидация).
  • Повышение скорость работы команды разработчиков данных.
  • Сокращение потери времени на дублирование работы?
  • Четкое определения используемых метрик (автодокументирование)
  • Облегчение работы новых сотрудников с кодовой базой.
  • Барьер (90 % - это SQL, остальные 10 % требуют обучения)
  • Избыточно сложен для простых вещей
  • Для простого воспроизведения всех цепочек, локально требуется настройка CI/CD да и вобще для работы в команде требуется настройка, принятие парадигм итп
DBT
  • легко установить и настроить, GUI из коробки.
  • позволяет тестировать работу пайплайна без запуска всего рабочего процесса, встроенные тесты.
  • Данные в Dagster имеют явно определенные типы, что обеспечивает большую надежность системы на этапе выполнения.
  • предоставляет мощные средства для визуализации данных и пайплайнов, позволяет всей команде понимать, как связаны между собой разные данные, даже если они не участвовали в создании самого процесса, документация прямо из кода
  • Множество встроенных интеграций в том числе с dbt
Dagster
  • Opensearch это elasticsearch с нужной лицензией, встроенным GUI и кучей полезного функционала из коробки
  • Opensearch лучше/легче полнотекстовый поиск, особенно с учтём, что не все логи мы сможем структурировать, и все это можно делать из интерфейса и есть API
  • Opensearch легче реализовать потоковую вставку

  • Clickhouse – лучший для агрегирующих запросов и OLAP
  • Clickhouse – отличное сжатие данных, быстрая вставка батчами, крутой синтаксический сахар в SQL запросах
Opensearch и Clickhouse зачем нам обе?
  • Сопровождать, изучать две системы баз данных
ps: но зато пока нет Cassandra и Redis :)



  • Быстрый, эффективный, меньше потребляет CPU и RAM
  • Работает как в режиме агента, так и агрегатора
  • Вроде бы простая конфигурация (yml, toml, json) + динамическая перезагрузка конфигурации
  • Быстрое преобразование и парсинг данных, много встроенных в том числе анонимайзеры
Vector
  • Не нравится? давайте возьмем, что то другое.
Logstash, Fluentd, Fluent Bit ....
  • В стеке поддерживаются групповые политики доступа (RBAC) с принципами наименьших привилегий, возможен двухфакторный доступ
  • Шифрование данных как при передачи данных TLS, так и при хранение, где-то прямо в базе где то необходимо будет настроить на уровне операционной системы
  • Есть инструменты анонимизации, маскирования, чувствительной информации
Немного инфобеза
  • Документирование всех сервисов, которые хотим мониторить, критерии стабильности работы и соблюдения SLA, выбор метрик для мониторинга, периодичность мониторинга, сценарии и каналы алертинга, паттерны поиска по логам для подготовки актов (см. примеры в конце)
  • Для бизнес мониторинга и планирования – выбираем по одному показателю для тестирования технологии

Выход: статья xwiki, что мониторим, как и с какой периодичностью, как, кого и когда предупреждаем, куда смотрим, как часто и кто это делает
  • Посмотреть, изучить, обсудить предлагаемый стек.
  • Изучить текущие Log и данные, которые позволят организовать мониторинг необходимого поведения сервисов
  • В идеале принять единый log style

Выход: Принять vs предложить свой vs ничего не делать
Аудит
Изучение стека
Предварительный этап (~3 недели)
1
Исполнитель помни! лучше меньше но лучше, лучшее-враг хорошего.
2
Первый этап. (~3 мес. календарно)
утилизация человека ресурсов ~400 часов
Мониторинг инфраструктуры
  • За Zabbix оставляем основные функции мониторинга инфраструктуры и алертинга, сервисы только в плане состояния вкл/выкл, потребление ресурсов (если нужно диагностировать раздельно от общего ресурса).
  • Zabbix приводим к виду, описанному в xwiki на предварительном этапе, + документирование
Выход: Настроеный документированный Zabbix
Мониторинг сервисов и аномалий

  • Настройка Vector для сбора логов, на всех видах перечисленных сервисов
  • Настройка индексов для логово в OpenSearch
  • Настройка Dashbord-ов для визуализации нужных процессов мониторинга
  • Настройка алертинга средствами OpenSearch и трансляции в Zabbix
Выход:
  • Настроенная в песочнице под все виды сервисов система отслеживания, с настроенными потернами алертинга на основе статистических/статичных правил, без тиражирования
  • Понимание требуемых объемов ресурсов для разворачивания, на всей продуктивной среде, попытка прогнозирования нужно ли разворачивание в кластерной среде kubernetes
Бизнес мониторинг и поиск аномалий

  • Настройка первых моделей dbt для выбранного показателя/ей
  • Первичная настройка dagster, подготовка запуск первых pipeline для собора данных из источников в DataWarehouse (Clickhause, OpenSearch)
  • Настройка Dashbord-ов для визуализации нужных процессов мониторинга
  • Тестирование статических порогов и на основе ML
Выход:
  • Настроенная песочница для разработки, тестирования.
  • Знакомство с функционалом стека проверка гипотез.
  • Понимание требуемых объемов ресурсов для следующего этапа.
Планирование

  • Расширение моделий dbt, и пайплайнов для построения коневейра генерации данных для обучения моделей
  • тестирование prophet, arima, прочие ml и нейронные
Выход:
  • Песочница для ML моделирования
  • Первые результаты применения
Стандартизация для текущих систем, песочница для новых, RND
Второй этап. (~2 месяца)
Мониторинг инфраструктуры
  • корректируем то, что выявили в ходе первого этапа
  • планируем и добавляем, мониторинг ресурсов самого мониторинга
  • Настройка RBAC
Выход:
  • Работающая поддерживаемая система мониторинга ресурсов·
Мониторинг сервисов и аномалий

  • тиражирование в продуктивную среду, работа под реаль нонагрузкой
  • тестируем динамический анализ выявления аномалий (встроенный или если появились свои модели моделями)
  • Настройка RBAC
Выход:
  • ·Работающая поддерживаемая система мониторинга сервисов·
Бизнес мониторинг и поиск аномалий

  • Финализация стека и методов разработки CI/CD
  • Передача проекта команде разработки подсистемы
Выход:
  • ·Передано команде разработке подсистемы со всеми необходимыми инструментами и вычислительными ресурсами или методами их бронирования
Планирование

  • Финализация стека и методов разработки CI/CD
  • Передача проекта команде разработки подсистемы
Выход:
  • Передано команде разработке подсистемы со всеми необходимыми инструментами и вычислительными ресурсами или методами их бронирования
  • Бронирование необходимых вычеслительных ресурсов
Для всех подсистем
Запуск и теражирование системы мониторинга сервисов
утилизация человека ресурсов ~120 часов
Дальнейшие шаги выходят за рамки горизонта событий презентации