Подготовка ОС перед установкой и Требования
Информация, приведенная на данной странице, является разработкой команды pre-sales и/или community KUMA и НЕ является официальной рекомендацией вендора.
Официальная документация по данному разделу приведена в Онлайн-справке на продукт: https://support.kaspersky.com/help/KUMA/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.2/ru-RU/217770.htm
Дополнение: Между шардами кластера хранилища необходимо также открывать порт 9000, несмотря на то, что это не указано в таблице документации
Подготовка целевой машины
Дистрибутивы
Oracle Linux 9.4: https://yum.oracle.com/ISOS/OracleLinux/OL9/u4/x86_64/OracleLinux-R9-U4-x86_64-dvd.iso
Ubuntu LTS 22.04: https://releases.ubuntu.com/jammy/ubuntu-22.04.4-live-server-amd64.iso
Astra Linux SE 1.7.5: Приобретается отдельно. Сайт производителя: https://astralinux.ru/
Разбивка диска
/
и другие системные разделы - суммарно 16Гб/opt
- все остальное место/var/log
- 5Гб (не обязательно, но рекомендуется)
Общие требования
Процессор
Набор инструкций SSE4.2 (для работы ClickHouse)
Инструкция AVX (для KUMA 3.2 для MongoDB)
Имя хоста
В качестве имени хоста ОБЯЗАТЕЛЬНО использовать FQDN (полное доменное имя, в котором есть хотя бы 1 точка), например, kuma-1.mydomain.local
.
Имя хоста можно задать во время установки, либо после.
Настоятельно не рекомендуется изменять FQDN машин после установки KUMA, особенно на сервере с компонентом Core! Это приведет к невозможности проверки подлинности сертификатов и нарушит сетевое взаимодействие между компонентами KUMA. Для восстановления работоспособности потребуется перевыпуск сертификатов всех сервисов, а также изменение их конфигурации!
Зарегистрируйте целевые машины в DNS-зоне вашей организации. Для пилотных инсталляций, как альтернативу, можно использовать файл hosts. Для этого на каждой целевой машине укажите в файле hosts имена всех машин и их ip-адреса (включая адрес машины, на которой происходит настройка).
Синхронизация времени
Настройте временную зону и синхронизацию системного времени с NTP-сервером на всех серверах KUMA. Это можно сделать во время установки ОС.
Пример команды для настройки NTP
sudo apt install chrony
sudo systemctl enable --now chronyd
sudo timedatectl | grep 'System clock synchronized'
Если доступ в Интернет отсутствует, то после установки chrony отредактируйте файл /etc/chrony.conf
, заменив в нем 2.pool.ntp.org
на адрес NTP сервера вашей организации.
Прочее
Задайте пароль пользователю root. Это можно сделать во время установки ОС.
Не создавайте на целевых машинах пользователя kuma! Он создается автоматически при установке продукта и наличие в системе пользователя с таким же именем может сделать вход в систему невозможным (придумайте другое имя).
Отключите SELinux на тех ОС, для которых это применимо (Oracle, Ubuntu).
Отключение SELinux
1. Выполните команду:
sudo setenforce 0
2. Откройте на редактирование файл /etc/selinux/config
и установите в нем параметру SELINUX=
значение disabled
3. Сохраните внесенные изменения и перезагрузите машину
sudo reboot
На серверах хранилищ включите использование ipv6. Если установка All-in-one, на целевой машине также требуется включить использование ipv6. Для проверки, что ipv6 включен, можно использовать команду:
ping ::1
Для включения ipv6 воспользуйтесь инструкцией из статьи.
Установка пакетов
Требования к установке на различных ОС приведены в официальной документации: https://support.kaspersky.com/help/KUMA/3.2/ru-RU/231034.htm
Oracle Linux
Основные пакеты:
- python3 (python 3.6 - 3.11)
- netaddr
- firewalld
sudo yum install -y python3.6 python3-netaddr
Только для Oracle 9.x:
- compat-openssl11
sudo yum install -y compat-openssl11
Только для сервера Ядра (как правило, не требуются, если сервер установлен с GUI):
- nss
- gtk2
- atk
- libnss3.so
- libatk-1.0.so.0
- libxkbcommon
- libdrm
- at-spi2-atk
- mesa-libgbm
- alsa-lib
- cups-libs
- libXcomposite
- libXdamage
- libXrandr
sudo yum install -y nss gtk2 atk libnss3.so libatk-1.0.so.0 libxkbcommon libdrm at-spi2-atk mesa-libgbm alsa-lib cups-libs libXcomposite libXdamage libXrandr
Astra Linux
Основные пакеты:
- python3 (python 3.6 - 3.11)
- python3-apt
- curl
- libcurl4
- netaddr
- python3-cffi-backend
sudo apt install -y python3 python3-apt curl libcurl4 python3-netaddr python3-cffi-backend
Только для сервера Ядра (как правило, не требуются, если сервер установлен с GUI):
- libgtk2.0.0
- libnss3
- libatk-adaptor
- libatk-1.0.so.0
- libdrm-common
- libgbm1
- libxkbcommon0
- libasound2
sudo apt install -y libgtk2.0.0 libnss3 libatk-adaptor libatk-1.0.so.0 libdrm-common libgbm1 libxkbcommon0 libasound2
Дополнительно требуется присвоить пользователю, под которым вы собираетесь установить KUMA необходимый уровень прав с помощью команды ниже
sudo pdpl-user -i 63 <имя пользователя>
Ubuntu
TBDОсновные пакеты:
- python3 (python 3.6 - 3.11)
- python3-apt
- curl
- libcurl4
- openssl 1.1.1
- acl
sudo apt install python3-apt curl libcurl4 acl
Для установки openssl 1.1.1 необходимо скачать пакет libssl1.1_1.1.1f-1ubuntu2_amd64.deb и установить его:
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Только для сервера Ядра (как правило, не требуются, если сервер установлен с GUI):
- libatk1.0-0
- libatk2.0-0
- libatk-bridge2.0-0
- libcups2
- libxcomposite-dev
- libxdamage1
- libxrandr2
- libgbm-dev
- libxkbcommon-x11-0
- libpangocairo-1.0-0
- libasound2
sudo apt install libatk1.0-0 libatk2.0-0 libatk-bridge2.0-0 libcups2 libxcomposite-dev libxdamage1 libxrandr2 libgbm-dev libxkbcommon-x11-0 libpangocairo-1.0-0 libasound2
Требования для Хранилища и Keeper
Процессор
- с частотой от 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) в продуктовых средах.
Рекомендуется использовать SSD (обычно ~ > 15k EPS) или HDD-рейд (SAS 10-15k RPM) в зависимости от нагрузки.
Пропускная способность диска является более важным фактором по сравнению с IOPS.
В случае использовании хранилищ в виде виртаульных машин на гипервизоре то необходимо использовать отдельные дисковые массивы для каждого из хранилищ. Также не желательно нахождение вместе с хранилищем других высоконагруженных сервисов на одном гипервизоре.
Файловая система ext4 — самый надежный вариант. XFS тоже работает хорошо. Большинство других файловых систем также должны работать нормально. FAT-32 и exFAT не поддерживаются из-за отсутствия жестких ссылок. Работа на NFS, тоже не лучшая идея.
Размер блока 64 КБ достаточен для большинства конфигураций RAID. Средний размер записи на сервере Clickhouse составляет примерно 1 МБ (1024 КБ), поэтому рекомендуемый размер страйпа (stripe) также составляет 1 МБ.
При необходимости размер блока можно оптимизировать, установив его равным 1 МБ, разделенному на количество дисков без четности в RAID-массиве, так что каждая запись распараллеливается на всех доступных дисках без четности. Никогда не устанавливайте размер блока слишком маленьким или слишком большим.
Keeper более критичен к диску и требует от 1000 IOPS, в зависимости от нагрузки, идеально использовать тип носителя NVMe
Сеть
- Keeper нужен IPv6, включите его в ОС, если он отключен;
- По возможности, используйте сети 10G и более высокого класса, минимально подойдет 1G.
- Пропускная способность сети критически важна для обработки распределенных запросов с большим количеством промежуточных данных. Также, скорость сети влияет на задержки в процессах репликации.
Keeper рекомендуется устанавливать на отдельные сервера, отдельно от ClickHouse (при возможности, обычно это ~ > 50k EPS), т.к. Keeper менее производителен при установке на одном узле с ClickHouse. Процессор и ОЗУ - по сайзингу.
Требования для Core / Collector / Correlator
Требования к процессору (для KUMA от версии 3.2 для работы MongoDB требуется наличие инструкций процессора AVX) и ОЗУ по сайзингу, диски можно использовать любые HDD от 7,5k RPM от 0,5 ТБ.
Любое новое обогащение или агрегация на коллекторе это ~+ 100-200 Мб к ОЗУ (учитывайте это при расчете)
Объем диска на ядре зависит от количества создваемых Алеротов, рекомендуется от 1 ТБ
Требования к отказоустойчивому ядру в кластере Kubernetes
Требования к процессору и ОЗУ по сайзингу.
Диск
Быстрые диски являются наиболее важным фактором производительности и стабильности развертывания.
По возможности используйте диски SSD, в крайнем случе подойдет HDD RAID 10 (SAS 10-15k RPM);
Сеть
- Обычно 1GbE достаточно для обычных развертываний. Но если есть возможность, то 10GbE более предпочтительно;
- Сетевые задержки не должны превышать 100 мс.