IPFIX-балансировщик

Ключевая задача модуля — ретрансляция (репликация и балансировка) всех экспортируемых с DPI IPFIX-потоков данных о трафике (Fullflow/Clickstream/DNS flow): он принимает IPFIX от fastDPI и далее ретранслирует его на другие хосты согласно настройкам. Дополнительно может быть реализован режим записи. IPFIX-балансировщик оперирует порциями данных (сообщениями) при их распределении между узлами сбора данных (ресиверами/коллекторами). Имеет 2 основных режима распределения данных:

Режим "RoundRobin" разделяет (балансирует) поток IPFIX по одному сообщению на каждый указанный хост.
Отправляет одно сообщение на один узел приема → коллектор → отправляет следующее сообщение на следующий доступный хост приёма → коллектор и так по кругу пока не закончатся сообщения.

Режим "All" реплицирует поток IPFIX.
Копирует полученные сообщения от DPI, на все узлы приема — коллекторы.

Позволяет работать как по UDP, так и по TCP, а также привязывать обработчик определенного типа трафика (Fullflow/Clickstream/DNS flow) к ядру CPU системы, обеспечивая тем самым распределение нагрузки между CPU.

С помощью балансировщика можно выполнить:

Распределение трафика между узлами сбора и хранения данных, в случае работы QoE в режиме "Кластера", когда хранение данных выполняется на разных серверах.

Дублирование данных в режиме репликации, между узлами сбора и хранения, для решения вопроса отказоустойчивости или одновременного экспорта потока в разные направления, или между разными хостами приёма потока (Fullflow/Clickstream/DNS flow).

Перенаправлять поток (Fullflow/Clickstream/DNS flow) с DPI без изменения конфигурации и необходимого рестарта процесса fastdpi.
Когда поток данных экспортируется в балансировщик по адресу 127.0.0.1, запущенный на том же хосте, где и DPI.
При этом при изменении адреса назначения потока или адреса коллектора, необходимо выполнить эти изменения в файле конфигурации IPFIX-балансировщика и выполнить его рестарт, без влияния на обрабатываемый DPI-трафик.

Управление

Установка:

yum install fast_ipfix_balancer

Модуль IPFIX-балансировщика рекомендуется устанавливать на тот же сервер, где установлен DPI.

Остановка и перезапуск:

ipfix-balancer-stop ipfix-balancer-restart

Просмотр логов:

journalctl -xe | grep IPFIXcol2 journalctl -f | grep IPFIXcol2

Определить, к какому CPU принадлежит процесс балансировки. CPU задается параметром IPFIX_xx_TASKSET, описание в разделе Работа в CLI → Настройка.

ps -ax -o %cpu,psr,comm | grep ipfix

Работа в GUI

Лог-файлы IPFIX-балансировщика можно посмотреть в разделе "Администратор" → "Логи IPFIX-балансира"

Добавление оборудования

Для работы с IPFIX-балансировщиком необходимо завести подходящее оборудование. Для этого нужно:

Перейти в раздел Администратор → Оборудование;

Нажать на + над таблицей оборудования;

В появившемся окне выбрать тип оборудования — Сервер IPFIX-балансира;

Заполнить остальные поля, сохранить оборудование.

Подробное описание работы с разделом Оборудование — Управление оборудованием.

Сценарий 1. Репликация

В разделе Администратор → Конфигурация IPFIX-балансировщика выбрать сервер IPFIX и добавить ресивер (по нажатию на + над таблицей ресиверов);

В поле “Балансир” выбрать значение “All”.

Указать Тип порта, Субресиверы балансира, Тип субприемников балансира.

Параметрам Тип порта и Тип субприемников балансира рекомендуется задавать одинаковое значение.

Настроить остальные параметры ресивера. Их описание приведено в разделе Описание параметров.

В результате получим два одинаковых потока на два разных хоста.

Пример настроек ресивера для сценария репликации:

Логи IPFIX-балансировщика можно посмотреть в разделе Администратор → Логи IPFIX-балансира

Сценарий 2. Балансировка

В разделе Администратор → Конфигурация IPFIX-балансировщика выбрать сервер IPFIX и добавить ресивер (по нажатию на + над таблицей ресиверов);

В поле “Балансир” выбрать значение “RoundRobin”.

Указать Тип порта, Субресиверы балансира, Тип субприемников балансира.
Параметрам Тип порта и Тип субприемников балансира рекомендуется задавать одинаковое значение.

Настроить остальные параметры ресивера. Их описание приведено в разделе Описание параметров.

В результате получим равномерное распределение пакетов по всем хостам.

Пример настроек ресивера для сценария балансировки:

Если включен один из режимов балансировки (All или RoundRobin), то начинает работать IPFIXCol2 и субресиверы, на которые он отправляет пакеты.

Сценарий 3. Режим записи

В разделе Администратор → Конфигурация IPFIX-балансировщика выбрать сервер IPFIX и добавить ресивер (по нажатию на + над таблицей ресиверов);

В поле “Балансир” выбрать значение “Отключено”;

Настроить остальные параметры ресивера. Их описание приведено в разделе Описание параметров.

В этом случае работает IPFIX ресивер, пишет данные в файл и может делать экспорт IPFIX на IP-адреса, указанные в поле “Экспорт”.

Настройка экспорта IPFIX на DPI описана в документации VAS Experts: Нетфлоу Кликстрим, DNS и т.д.

Пример настроек ресивера для сценария записи:

Работа в CLI

-

Описание параметров

Параметр	Описание	Возможные значения и формат записи	Примечание
Тип ресивера	Тип ресивера: Нетфлоу или Клистрим	Значения: - Нетфлоу - ресивер для получения данных Нетфлоу - Кликстрим - ресивер для получения данных Кликстрим
Тип порта	Тип протокола, по которому ресивер передает данные	Значения: - TCP - UDP	Рекомендуется использовать TCP
Порт	Порт, через который ресивер слушает трафик	Значения по умолчанию: - 1500 для Нетфлоу - 1501 для Кликстрим Можно указать любой порт. Главное, чтобы он отличался для каждого потока
Ротация в минутах	Период обращения дампа приемника или период загрузки данных в БД	Значения по умолчанию: - 10 минут для Нетфлоу - 12 минут для Кликстрим Период поворота дампа для Кликстрим должен быть больше или равен тому же периоду для Нетфлоу. Когда дамп Нетфлоу оборачивается, посылается сигнал HUP для синхронизации потоков.	Действует только в режиме записи Не меняйте этот параметр без необходимости
Ротация в секундах	Период обращения дампа приемника или период загрузки данных в БД	Действует только в режиме записи Если это значение включено, значение в минутах игнорируется.
Ротация по флоу	Период обращения дампа приемника или период загрузки данных в БД	Действует только в режиме записи Работает одновременно с ротацией в минутах или секундах.
Экспорт	Адреса ресиверов, куда экспортируются данные.	Формат: 10.0.0.2/9920/tcp,10.0.0.3/3440/udp	Действует только в режиме записи
Идентификатор DPI	Добавляет в статистику ИД DPI. Для удобства просмотра статистики по определенному DPI	Значение по умолчанию: -1 Если значение равно -1 или не указано, то номер DPI определяется порядком получателя в списке.	Действует только в режиме записи Не меняйте этот параметр без необходимости
Балансир	Тип балансировки	Значения: - Отключено — отключает балансировку, включает режим записи - RoundRobin — разделяет поток IPFIX - All — реплицирует поток IPFIX
Субресиверы балансира	Адреса субресиверов, на которые будут отправляться разделенные или реплицированные данные	Формат: 10.0.0.2/9920,10.0.0.3/3440	Действует в режимах репликации и балансировки
Тип субприемников балансира	Тип протокола, по которому ресивер передает данные на субресиверы	Значения: - TCP - UDP	Действует в режимах репликации и балансировки Рекомендуется использовать TCP
Балансир авто	Вариант создания и запуска субресиверов	Значения: - Отключено — субресиверы нужно прописать вручную - Включено — субресиверы создаются и запускаются автоматически	Если QoE и IPFIX-балансировщик установлены на разных серверах, рекомендуется устанавливать значение “Отключено”