Развертывание correlator-ng в кластере Raft
В KUMA 4.2 представлена бета-версия correlator-ng, которая предназначена для технического ознакомления. До выхода полнофункциональной версии коррелятора API методы, алгоритмы, синтаксис условий и другие функции и характеристики могут быть изменены.
Вы можете развернуть коррелятор correlator-ng в кластере Raft. Кластер обеспечивает синхронизацию состояния контейнеров корреляции между узлами и позволяет продолжать обработку событий при отказе отдельных узлов.
Рекомендуется использовать нечетное количество узлов для обеспечения отказоустойчивости.
Минимальное количество доступных узлов, необходимое для функционирования кластера, рассчитывается по формуле:N / 2 + 1, где N – общее количество узлов кластера. Например, при 3 узлах допустимое количество недоступных узлов – 1, при 5 узлах – 2, при 7 – 3.
Каждый узел коррелятора регистрируется в Ядре KUMA как отдельный сервис.
Параметры запуска коррелятора
Correlator-ng запускается через интерфейс командной строки и принимает набор параметров запуска.
Параметры запуска коррелятора
Параметр | Описание |
|---|---|
| Уникальный идентификатор сервиса коррелятора. |
| FQDN сервиса Ядра KUMA, например |
| API-порт коррелятора. |
| Рабочая директория коррелятора. |
| FQDN узла, который будет передан сервису Ядра KUMA для сетевого доступа к коррелятору. |
| API-порт, который будет передан сервису Ядра KUMA. |
| Список альтернативных имен для коррелятора. |
| Время ожидания HTTP-клиента при взаимодействии с микросервисами KUMA, в секундах. Значение по умолчанию – |
| Уровень журналирования коррелятора. Возможные значения: |
| Количество потоков для выполнения асинхронных операций (сетевые операции и обработка сигналов). Значение по умолчанию – |
Параметры кластера Raft
Параметры кластера Raft
Параметр | Описание |
|---|---|
| Максимальный интервал времени реакции узла на изменения в кластере, в миллисекундах. Значение по умолчанию – |
| Интервал обмена сообщениями между узлами кластера, в миллисекундах. Значение по умолчанию – |
| Интервал времени, по истечении которого узел инициирует процедуру выбора управляющего узла, в миллисекундах. Значение по умолчанию – |
| Количество интервалов времени перед отправкой накопленных изменений другим узлам кластера. Значение по умолчанию – |
| Максимальный размер пакета изменений, передаваемых другим узлам кластера, в мегабайтах. Значение по умолчанию – |
| Максимальный объем данных, принимаемых и обрабатываемых узлом за один интервал времени, в мегабайтах. Значение по умолчанию – |
| Время ожидания отправки Raft-запросов, в секундах. Значение по умолчанию – |
| Количество записей в журнале Raft перед созданием снимка состояния. Значение по умолчанию – |
| Количество шардов Raft для распределения данных между группами. При изменении параметра требуется полный сброс состояния коррелятора. Значение по умолчанию – |
| FQDN узла кластера, к которому подключается новый узел коррелятора. |
Дополнительные параметры
Дополнительные параметры
Параметр | Описание |
|---|---|
| Отключает отправку корреляционных событий в сервис Ядра KUMA. |
Развертывание первого узла
Перед созданием кластера необходимо запустить первый узел коррелятора correlator-ng.
Для запуска первого узла необходимо указать обязательные параметры:
--id– уникальный идентификатор сервиса коррелятора;--core– FQDN сервиса Ядра KUMA;--wd– рабочая директория коррелятора;- -
-api.port– API-порт коррелятора.
Пример запуска через интерфейс командной строки:
/opt/kaspersky/kuma/kuma ng correlator --id <идентификатор_сервиса_коррелятора> --core <FQDN_сервиса_Ядра_KUMA> --wd <рабочая_директория_коррелятора> --api.port <API-порт_коррелятора>
После запуска в рабочей директории коррелятора создаются следующие директории:
- certificates
- config
- containers
- correlation
После получения конфигурации от сервиса Ядра KUMA возможны ошибки, связанные со строгой типизацией выражений селекторов в правилах корреляции. В этом случае необходимо исправить ошибки в соответствующих YAML-файлах в директории config, следуя сообщениям об ошибках.
После успешного запуска первого узла и исправления возможных ошибок конфигурации можно приступать к развертыванию остальных узлов кластера.
Подключение узлов к кластеру Raft
Чтобы добавить узлы в кластер Raft:
- Создайте рабочую директорию коррелятора:
mkdir /opt/correlator-wd
- Скопируйте директорию config из рабочей директории первого узла коррелятора в рабочие директории остальных узлов.
- Запустите correlator-ng с параметром подключения к кластеру
--raft.join:/opt/kaspersky/kuma/kuma ng correlator --wd <
рабочая_директория_коррелятора> --api.port <API-порт_первого_узла_коррелятора> --id <идентификатор_сервиса_KUMA> --core <FQDN_сервиса_Ядра_KUMA> --raft.join <FQDN_первого_узла_коррелятора>:<API-порт_коррелятора_первого_узла>Команду запуска необходимо выполнить на каждом дополнительном узле коррелятора, изменяя параметры
--id(уникальный идентификатор сервиса KUMA) и--wd(рабочую директорию узла коррелятора).Параметр
--raft.joinможет указывать на любой узел, который уже входит в кластер. Необязательно указывать адрес первого узла коррелятора.Следует учитывать, что каждый узел коррелятора имеет собственный идентификатор сервиса KUMA. Поэтому для развертывания кластера необходимо создать соответствующее количество сервисов коррелятора в веб-интерфейсе KUMA. Все сервисы коррелятора должны быть созданы на основе одного и того же ресурса коррелятора.