Архитектура платформы

Клиентская часть (Data Collection Layer)
Объекты мониторинга
Определение: Физические или виртуальные узлы инфраструктуры (серверы, устройства, контейнеры), оснащенные механизмами сбора диагностических данных.
Характеристики:
Уникальная идентификация по FQDN/IP
Поддержка множества интерфейсов сбора
Автоматическая регистрация в системе
Типы интерфейсов:
Интерфейс |
Протокол |
Назначение |
Примеры использования |
---|---|---|---|
|
HTTP |
Предоставление метрик Prometheus |
Node_exporter, PostgreSQL_exporter |
|
UDP |
Прием асинхронных уведомлений |
Сетевые устройства |
|
SNMP |
Активный опрос устройств |
Принтеры, ИБП |
|
IPMI |
Аппаратный мониторинг |
Серверное оборудование |
|
HTTP |
Интеграция с REST API |
Кастомные приложения |
Агент сбора данных
Роль: Оркестратор процессов сбора диагностической информации на узле, а также исполнитель функции proxy.
Функциональные модули:
1. Exporters Manager
Запуск и контроль специализированных экспортеров
Изоляция процессов сбора
Автоматическое восстановление
2. Metrics Manager
Сбор: оптимизированный сборщик метрик
Обработка: Модификация лейблов, фильтрация
Буферизация: Локальное кэширование при недоступности бэкенда
3. Logs Manager
Сбор: высокопроизводительный сборщик логов
Трансформация: Парсинг, обогащение метаданными
Компрессия: Уменьшение объема передаваемых данных
4. Signals Manager
Поддержка протоколов: SNMP traps, custom UDP/HTTP
Нормализация: Приведение к единому формату
Корреляция: Связывание с объектами мониторинга
5. Proxy Manager
Настройка и запуск proxy Manager для агрегации всех входящих на агент запросов от других агентов и проксирования собственных запросов к Config API
Примечание
Это опциональная функция, так как агент может взаимодействовать с бэкендом напрямую
6. Watcher & Configurator
Контроль взаимодействия с Config API, расположенном на бэкенде AM
Регистрация агента при запуске
Удаленная настройка агента
Предоставление информации о работоспособности всех модулей агента
7. HTTP Server
Предобработка логов от сборщика перед отправкой на бэкенд
healthcheck запущенного агента
Особенности реализации:
Автоматическая регистрация через Config API
Поддержка каскадной прокси-архитектуры
Health-check мониторинг всех компонентов
Удаленное управление конфигурацией
Центральная часть (Data Processing Layer)
Получение данных
API Gateway:
vmauth - высокопроизводительный балансировщик нагрузки с:
Поддержкой TLS
Маршрутизацией на основе URL-path
Лимитированием запросов
Протоколы взаимодействия:
Метрики: Prometheus remote_write
Логи: HTTP/JSON с batch-отправкой
Сигналы: UDP/HTTP с буферизацией
Сравнительная таблица хранилищ
Характеристика |
VictoriaMetrics |
ClickHouse |
PostgreSQL |
Redis |
---|---|---|---|---|
Тип данных |
Метрики |
Логи |
Конфигурация |
Кэш |
Оптимизация |
Временные ряды |
Аналитика |
Транзакции |
Ключ-значение |
Масштабируемость |
Горизонтальная |
Горизонтальная |
Вертикальная |
Кластерная |
Скорость доступа |
Высокая |
Средняя |
Высокая |
Экстремально высокая |
Использование в AM |
Основное хранилище |
Анализ логов |
Системные сущности |
Кэширование и очереди |
Обработка диагностической информации
Конвейер обработки:
Нормализация входящих данных
Корреляция по объектам мониторинга
Применение правил мониторинга
Генерация событий и проблем
Эскалация уведомлений
Пользовательский интерфейс (User Interface Layer)
Визуализация
Grafana Integration:
Предопределенные дашборды
Alert annotations
Управление
Admin UI Функционал:
Конфигурация агентов
Конфигурация агентов-прокси
Просмотр и анализ логов
Мониторинг проблем и событий
Мониторинг интерфейсов по хостам
Безопасность
Keycloak Integration:
Поддержка OAuth2/SAML
Интеграция с LDAP/AD
Настройка и управление сбором данных
Развертывание агентов
Первичная установка
Установите агент AM, настроенный на взаимодействие с бэкендом
В панели администратора автоматически создается сущность
agent
Примечание
Для single-node систем агент и бэкенд могут работать на одной ноде без конфликтов
Масштабирование
Установите агенты на целевые хосты
Агенты автоматически:
Регистрируются в Config API
Начинают сбор и отправку данных
Создаются соответствующие сущности
agent
в AM
Проксирование (опционально)
Настройте проксирование через другие агенты при:
Отсутствии прямой сетевой связности с бэкендом
Необходимости маршрутизации трафика
Настройка источников данных
В панели администратора для каждого агента:
Добавьте источники (экспортеры, SNMP-адаптеры)
Настройте параметры для сбора и парсинга данных
Рабочий режим
Агенты собирают и передают данные на бэкенд
Бэкенд обрабатывает и сохраняет полученную информацию
Config API: управление агентами мониторинга
Назначение: Сервис для удаленной настройки агентов с хранением данных в PostgreSQL
Функциональность:
Функция |
Описание |
---|---|
Установка |
Обеспечивает загрузку бинарных файлов (экспортеров, сборщика метрик, сборщика логов) без включения в пакет поставки |
Регистрация |
Автоматически добавляет объекты мониторинга при запуске агента |
Конфигурация |
Позволяет удаленно управлять сбором данных (экспортеры, SNMP-трапы, сборщик логов) с сохранением истории изменений |
Мониторинг |
Принимает статусы работы агентов и информацию об ошибках |
Ключевые особенности:
Версионность конфигураций
Автоматическое добавление хостов
Централизованное управление бинарными файлами
Модель данных мониторинга
Состояния объектов:
«Сырые» диагностические данные
Необработанные метрики и показатели
События:
Генерируются на основе состояний
Фиксируют изменения состояний объектов
Классифицируются как:
Положительные (успешные операции, возвращение к норме)
Отрицательные (аномалии, сбои, превышения порогов)
Проблемы:
Базируются на событиях и эволюционируют вместе с ними
Включают в себя историю событий: с момента отклонения состояния от нормы до его возвращения к норме
Ценность проблем и событий:
Фильтрация значимых состояний
Основа для системы оповещений
Отражение жизнеспособности объектов