Skip to main content

Подготовка ОС перед установкой и Требования

Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.

Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/help/KUMA/3.0.3/2/ru-RU/231034.htm 

Актуальные для развёртывания системы пакеты KUMA запросите у сотрудника Лаборатории Касперского.

Наборы правил корреляции и их описание доступно по ссылке - https://support.kaspersky.com/help/KUMA/3.2/ru-RU/SOC_correlation_rules_description.zip 

Карта доступов для KUMA https://support.kaspersky.com/help/KUMA/3.0.3/2/ru-RU/217770.htm
Дополнение: Между шардами кластера хранилища необходимо также открывать порт 9000, несмотря на то, что это не указано в таблице документации


Подготовка целевой машины

    1. Установите  поддерживаемую ОС (ссылка) на машину. Скачать образ Oracle Linux 8.9:
      1. https://yum.oracle.com/ISOS/OracleLinux/OL8/u9/x86_64/OracleLinux-R8-U9-x86_64-dvd.iso 
      2. Для гипервизоров и оборудования, необходима поддержка инструкций процессора SSE4.2 (для работы ClickHouse) и AVX (для KUMA 3.2 для MongoDB), детали см. в главах ниже

    2. При установке на этапе разбивке диска основной объем пространства (90%) выделите для раздела /opt (если его нет - необходимо создать помимо стандартных разделов Linux), а также рекомендуется отдельный раздел под журналы /var/log (~1% от общего пространства, но не более 5 Гб), остальное в корень.
    3. Настройте временнУю зону и синхронизацию системного времени с NTP-сервером (можно сделать до установки ОС, необходимо на всех серверах).
    4. Установите имя хоста. Настоятельно рекомендуется использовать FQDN (где есть хотя бы одна точка), например, kuma-1.mydomain.com. Учтите, что после установки KUMA имя хоста изменять не следует, т.к. это приведет к невозможности проверки подлинности сертификатов и нарушит сетевое взаимодействие между компонентами KUMA (Настройку имени хоста можно сделать до установки ОС).
    5. Зарегистрируйте целевую машину в DNS-зоне Вашей организации (если это возможно). Альтернативный вариант - использовать файл hosts для преобразования имен в IP-адреса на каждой машине.
    6. Задайте пароль пользователю root (можно сделать до установки ОС).
    7. Не создавайте пользователя kuma, он создается автоматически при установке продукта (придумайте другое имя).
    8. Пропишите в файле /etc/hosts сервера KUMA его полное доменное имя и IP адрес (в случае распределенной установки описать все сервера KUMA в этом файле и установить на все хосты).
    9. Пропишите в файле /etc/hostname его полное доменное имя сервера KUMA.
    10. На всех серверах необходимо ВЫКЛЮЧИТЬ SELinux, а на серверах хранилищ ВКЛЮЧИТЬ использование ipv6 (проверить работу можно командой ping ::1, настройка тут).
    11. Убедитесь, что срабатывает команда python3 на системе, для выхода введите exit() Версия должна быть от 3.6, для проверки версии используйте команду python3 --version. Python необходим для разворачивания системы. Если версия ниже 3.6, то укажите ссылку на нужный исполняемый файл (sudo ln -s /usr/bin/python3.9 /usr/bin/python3). Убедитесь в наличии нужных библиотек для Python и пакетов ОС: https://support.kaspersky.com/help/KUMA/2.1/3.2/ru-RU/231034.htm
    12. Установка пакетов KUMA происходит от учетной записи root (суперпользователь).
    13. (Опционально) В папке kuma-ansible-installer (появляется после распаковки архива с пакетами KUMA) в конце файла ansible.cfg добавьте строку log_path = ./ansible.log  для сохранения лога установки/удаления.

Требования для Хранилища и ZooKeeper

Процессор

  • с частотой от 2 ГГц;
  • с архитектурой x86_64 и поддержкой инструкций SSE 4.2;
  • Рекомендуется использовать технологии Turbo Boost и Hyper-Threading (при наличии);

ClickHouse работает более эффективно в конфигурациях с большим количеством ядер, но с более низкой тактовой частотой, чем в конфигурациях с меньшим количеством ядер и более высокой тактовой частотой. Например, 16 ядер с 2600 MHz предпочтительнее, чем 8 ядер с 3600 MHz.

ОЗУ

Необходимый объём RAM зависит от Сложности запросов и Объёма данных, обрабатываемых в запросах.

  • Рекомендуемый объем оперативной памяти от 16 Гб (для объемов данных ~ 16 - 32 ТБ [горячее хранение]);
  • Рекомендуемый объем оперативной памяти от 32 Гб (для объемов данных ~ 32 - 48 ТБ);
  • Рекомендуемый объем оперативной памяти от 48 Гб (для объемов данных ~ 48 - 64 ТБ);
  • Рекомендуемый объем оперативной памяти от 64 Гб (для объемов данных ~ 64 - 80 ТБ);
  • Рекомендуемый объем оперативной памяти от 128 Гб (для объемов данных > 80 ТБ);

В идеальном случае: Количество Гб ОЗУ примерно равно количеству ТБ хранилища.

Диск

Отключайте файл подкачки (swap) в продуктовых средах.

Рекомендуется использовать HDD-рейд (SAS 10-15k RPM) или SSD (обычно ~ > 15k EPS) или HDD-рейд (SAS 10-15k RPM) в зависимости от нагрузки.

Пропускная способность диска является более важным фактором по сравнению с IOPS.

В случае использовании хранилищ в виде виртаульных машин на гипервизоре то необходимо использовать отдельные дисковые массивы для каждого из хранилищ. Также не желательно нахождение вместе с хранилищем других высоконагруженных сервисов на одном гипервизоре.

Файловая система ext4 — самый надежный вариант. XFS тоже работает хорошо. Большинство других файловых систем также должны работать нормально. FAT-32 и exFAT не поддерживаются из-за отсутствия жестких ссылок. Работа на NFS, тоже не лучшая идея.

Размер блока 64 КБ достаточен для большинства конфигураций RAID. Средний размер записи на сервере Clickhouse составляет примерно 1 МБ (1024 КБ), поэтому рекомендуемый размер страйпа (stripe) также составляет 1 МБ.

При необходимости размер блока можно оптимизировать, установив его равным 1 МБ, разделенному на количество дисков без четности в RAID-массиве, так что каждая запись распараллеливается на всех доступных дисках без четности. Никогда не устанавливайте размер блока слишком маленьким или слишком большим.

Zookeeper более критичен к диску и требует от 1000 IOPS, в зависимости от нагрузки, идеально использовать тип носителя NVMe

Сеть

  • ZooKeeper нужен IPv6, включите его в ОС, если он отключен;
  • По возможности, используйте сети 10G и более высокого класса, минимально подойдет 1G.
  • Пропускная способность сети критически важна для обработки распределенных запросов с большим количеством промежуточных данных. Также, скорость сети влияет на задержки в процессах репликации.

Zookeeper рекомендуется устанавливать на отдельные сервера, отдельно от ClickHouse (при возможности, обычно это ~ > 50k EPS), тк Zookeeper менее производительна при установке на одном узле с ClickHouse. Процессор и ОЗУ - по сайзингу.


Требования для Core / Collector / Correlator

Требования к процессору (для KUMA от версии 3.2 для работы MongoDB требуется наличие инструкций процессора AVX) и ОЗУ по сайзингу, диски можно использовать любые HDD от 7,5k RPM от 0,5 ТБ.

Любое новое обогащение или агрегация на коллекторе это ~+ 100-200 Мб к ОЗУ (учитывайте это при расчете)

Объем диска на ядре зависит от количества создваемых Алеротов, рекомендуется от 1 ТБ


Требования к отказоустойчивому ядру в кластере Kubernetes

Требования к процессору и ОЗУ по сайзингу.

Диск

Быстрые диски являются наиболее важным фактором производительности и стабильности развертывания.

По возможности используйте диски SSD, в крайнем случе подойдет HDD-рейдHDD RAID 10 (SAS 10-15k RPM); 

Сеть

  • Обычно 1GbE достаточно для обычных развертываний. Но если есть возможность, то 10GbE более предпочтительно;
  • Сетевые задержки не должны превышать 100 мс.