Установка Anomaly Analyzer
Anomaly Analyzer — это модуль интеллектуального онлайн-мониторинга Sage, который использует статистические методы и машинное обучение (ML) для обнаружения аномалий во временных рядах в реальном времени. При обнаружении отклонений система автоматически отправляет уведомления. Подробнее см. в пользовательской документации.
Процесс установки Anomaly Analyzer состоит из следующих шагов:
- Настройка инвентаря
- Настройка лимитов ресурсов
- Конфигурация Anomaly Analyzer
- Настройка уведомлений
- Запуск установки
Anomaly Analyzer является опциональным компонентом и не входит в базовую поставку. Для работы требуется версия Sage не ниже 1.12.
Архитектура и ограничения
-
Все компоненты Anomaly Analyzer развертываются на одном сервере.
-
Режим высокой доступности (HA) на текущий момент не поддерживается. В случае падении сервера мониторинг аномалий прекратится.
-
Для работы требуется дополнительный компонент Sage Notifier, который устанавливается в рамках основного плейбука.
-
Отправка алертов поддерживается по электронной почте (SMTP) и через вебхуки.
Требования к ресурсам
Anomaly Analyzer — ресурсоемкий компонент. Рекомендуется развертывание на отдельном сервере, хо ст должен быть добавлен в инвентарь Ansible и иметь сетевую связность с другими серверами Sage. Компонент также может быть развернут на одном из хостов основного кластера Sage, но только при условии, что суммарной мощности хоста достаточно для всех работающих на нем компонентов.
Развертывание на стандартных флейворах (1VM/3VM) не поддерживается.
Точные требования к CPU, RAM и диску для сервера Anomaly Analyzer зависят от ожидаемой нагрузки на систему. Чтобы получить актуальные значения для вашей конфигурации, обратитесь в техническую поддержку.
Процесс установки
Установка Anomaly Analyzer выпол няется тем же Ansible-плейбуком, который используется для базовой установки.
Шаг 1. Настройка инвентаря
Добавьте в файл Ansible-инвентаря группы anomaly и notifier.
# Группа Anomaly Analyzer (только 1 хост)
anomaly:
hosts:
anomaly-host.example.com: # Замените на реальный FQDN
# Группа Notifier (только 1 хост)
notifier:
hosts:
anomaly-host.example.com: # Рекомендуется размещать на том же хосте, что и anomaly
Шаг 2. Настройка лимитов ресурсов
Для контроля потребления ресурсов и стабильной работы компонента задайте лимиты CPU и п амяти для каждого контейнера.
Добавьте или обновите переменную sage_limits_override:
sage_limits_override:
# Обработка временных рядов (Minion), устанавливается в 10 экземплярах
minion:
mem_limit: 256M
cpus: 1
# Minion Gateway (шлюз)
minion-gateway-1: # Экземпляр с повышенными ресурсами
mem_limit: 2G
cpus: 0.5
minion-gateway: # Остальные 9 экземпляров со стандартными лимитами
mem_limit: 512M
cpus: 0.25
# API (обработка запросов к Sage)
api:
mem_limit: 768M
cpus: 0.5
# Сбор и подготовка данных
data-fetcher:
mem_limit: 1G
cpus: 0.25
# API для управления процессом выборки данных
data-fetcher-api:
mem_limit: 512M
cpus: 0.25
# Детектор аномалий
detector:
mem_limit: 512M
cpus: 0.5
# Обучение ML-моделей
trainer:
mem_limit: 512M
cpus: 0.25
# Принятие решений
decider:
mem_limit: 1G
cpus: 0.25
# Отправка уведомлений
dispatcher:
mem_limit: 512M
cpus: 0.25
# Проверка доступности других компонентов
prober:
mem_limit: 768M
cpus: 0.5
# sidecar-аутентификация для prober
prober-oathkeeper:
mem_limit: 30M
cpus: 0.1
# Low-level Admin API
laaapi:
mem_limit: 256M
cpus: 0.25
# Gateway-аутентификация для laaapi
laaapi-oathkeeper:
mem_limit: 30M
cpus: 0.1
Указанные значения mem_limit и cpus являются минимальными и достаточны для обработки нескольких тысяч временных рядов с гранулярностью 5 минут. Для большей нагрузки лимиты необходимо пересчитывать.
Чтобы получить актуальные значения для вашей конфигурации, обратитесь в техническую поддержку.
Шаг 3. Конфигурация Anomaly Analyzer
Настройте размеры внутренних кэшей в зависимости от ожидаемой нагрузки на систему. Добавьте в Ansible-инвентарь следующие переменные:
sage_anomaly_caches_max_alerts_count— максимальное количество активных алертов в кэше;sage_anomaly_caches_max_series_count— максимальное к оличество отслеживаемых временных рядов.
Пример:
# Ограничить количество одновременно обрабатываемых инцидентов
sage_anomaly_caches_max_alerts_count: 1000
# Определить емкость хранилища метаданных о временных рядах
sage_anomaly_caches_max_series_count: 10000
Эти параметры влияют на потребление памяти. Превышение лимитов может привести к выгрузке старых данных из кэша, но не остановит работу системы.
Шаг 4. Настройка уведомлений
Поддерживаются уведомления по email и через вебхуки.
Уведомления по email
За доставку алертов Anomaly Analyzer по email отвечает компонент Sage Notifier.
-
Включите канал email:
group_vars/sage/sage.ymlsage_notifier_channels_email_enabled: true -
Настройте SMTP-сервер:
group_vars/sage/sage.ymlsage_alerts_smtp_login: ""sage_alerts_smtp_password: ""sage_alerts_smtp_from: email@localhostsage_alerts_smtp_host: smtp.sage.example.comsage_alerts_smtp_port: 25sage_alerts_smtp_need_auth: falsesage_alerts_smtp_ssl_options: "None"ПримечаниеПодробное описание переменных см. в Справочнике переменных.