Установка сервиса «Обучение»
Сервис используется для автоматического расчёта рекомендуемых порогов FlowCollector.
1. Установка сервиса
Установить пакет:
sudo apt install threshold-learner
2. Настройка сервиса
Открыть файл конфигурации:
sudo nano /opt/threshold-learner/etc/.env
Задать обязательные параметры конфигурации:
TL_GROUP_NAMES=one # Группы FlowCollector для обучения. Значения должны соответствовать sources: group в /opt/spfc/etc/analyzer.yaml. Несколько групп указываются через запятую: one,two
TL_METRICS_TIME_DIFF=5 # Интервал отправки метрик. Значение должно совпадать с metrics: export-timeout в /opt/spfc/etc/analyzer.yaml
TL_LEARN_PERIOD=1h # Период сбора данных для расчёта порогов. Суффиксы: s — секунды, m — минуты, h — часы, d — дни. Значение без суффикса считается часами
TL_RELEARN_PERIOD=10m # Как часто система повторно рассчитывает рекомендуемые пороги
TL_ENABLED=true # Включение обучения: true — обучение включено, false — обучение отключено, API продолжает работать
TL_START_AT=00:00 # Время первого запуска обучения в формате ЧЧ:ММ. Если значение не указано, запуск выполняется по ближайшему интервалу TL_RELEARN_PERIOD
TL_API_LISTEN=127.0.0.1:8095 # IP-адрес и порт API сервиса. Значение должно соответствовать FC_LEARNER_API_URL в /opt/sp-spider-broker/.env
TL_CLICKHOUSE_HOST=localhost # Адрес сервера ClickHouse
TL_CLICKHOUSE_PORT=8123 # Порт HTTP API ClickHouse
TL_CLICKHOUSE_USERNAME=default # Имя пользователя ClickHouse
TL_CLICKHOUSE_PASSWORD= # Пароль пользователя ClickHouse
TL_CLICKHOUSE_DB_NAME=default # Имя базы данных ClickHouse. Должно совпадать с базой, которую используют SP Spider и SP Spider Broker
TL_CLICKHOUSE_TABLE_NAME=graphite # Таблица с метриками FlowCollector
TL_CLICKHOUSE_PATH_PREFIX=flowcollector.analyzer # Префикс метрик FlowCollector в таблице graphite
TL_CLICKHOUSE_THRESHOLDS_STATS_TABLE_NAME=threshold_learner_stats # Таблица для хранения статистики сервиса «Обучение»
TL_CLICKHOUSE_THRESHOLDS_TABLE_NAME=threshold_learner # Таблица с рассчитанными порогами. Значение должно совпадать с THRESHOLD_TABLE_NAME в /opt/sp-spider/.env
3. Настройка веб-интерфейса
Открыть файл конфигурации:
sudo nano /opt/sp-spider/.env
Проверить параметр:
THRESHOLD_TABLE_NAME="threshold_learner" # Имя таблицы с рассчитанными порогами.
Значение должно совпадать с TL_CLICKHOUSE_THRESHOLDS_TABLE_NAME в конфигурации сервиса «Обучение».
4. Настройка брокера сообщений
Открыть файл конфигурации:
sudo nano /opt/sp-spider-broker/.env
Проверить параметры:
FC_LEARNER_API_URL="http://127.0.0.1:8095" # URL API сервиса «Обучение».
FC_LEARNER_SERVICE_NAME="threshold-learner" # Имя systemd-службы сервиса «Обучение».
FC_LEARNER_ENV_PATH="/opt/threshold-learner/etc/.env" # Путь к файлу конфигурации сервиса «Обучение».
FC_LEARNER_API_URL должен соответствовать TL_API_LISTEN в конфигурации сервиса «Обучение».
5. Запуск сервиса
Включить автозапуск и запустить сервис:
sudo systemctl enable --now threshold-learner
Перезапустить брокер сообщений:
sudo systemctl restart sp-spider-broker
Перезапустить службу веб-интерфейса:
sudo systemctl restart sp-spider
Проверить состояние сервиса:
sudo systemctl status threshold-learner --no-pager
6. Дальнейшая работа с сервисом «Обучение»
После установки и запуска сервиса в панели управления появится раздел Обучение.
В разделе можно настроить параметры обучения и управлять его работой.
Подробнее см. в разделе Обучение.