Подготовка ОС перед установкой и Требования
Информация, приведенная на данной странице, является разработкой команды 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, несмотря на то, что это не указано в таблице документации
Подготовка целевой машины
-
- Установите поддерживаемую ОС (ссылка) на машину. Скачать образ Oracle Linux 8.9:
- https://yum.oracle.com/ISOS/OracleLinux/OL8/u9/x86_64/OracleLinux-R8-U9-x86_64-dvd.iso
-
Для гипервизоров и оборудования, необходима поддержка инструкций процессора SSE4.2 (для работы ClickHouse) и AVX (для KUMA 3.2 для MongoDB), детали см. в главах ниже
- При установке на этапе разбивке диска основной объем пространства (90%) выделите для раздела
/opt
(если его нет - необходимо создать помимо стандартных разделов Linux), а также рекомендуется отдельный раздел под журналы/var/log
(~1% от общего пространства, но не более 5 Гб), остальное в корень. - Настройте временнУю зону и синхронизацию системного времени с NTP-сервером (можно сделать до установки ОС, необходимо на всех серверах).
- Установите имя хоста. Настоятельно рекомендуется использовать FQDN (где есть хотя бы одна точка), например, kuma-1.mydomain.com. Учтите, что после установки KUMA имя хоста изменять не следует, т.к. это приведет к невозможности проверки подлинности сертификатов и нарушит сетевое взаимодействие между компонентами KUMA (Настройку имени хоста можно сделать до установки ОС).
- Зарегистрируйте целевую машину в DNS-зоне Вашей организации (если это возможно). Альтернативный вариант - использовать файл hosts для преобразования имен в IP-адреса на каждой машине.
- Задайте пароль пользователю root (можно сделать до установки ОС).
- Не создавайте пользователя kuma, он создается автоматически при установке продукта (придумайте другое имя).
- Пропишите в файле
/etc/hosts
сервера KUMA его полное доменное имя и IP адрес (в случае распределенной установки описать все сервера KUMA в этом файле и установить на все хосты). - Пропишите в файле
/etc/hostname
его полное доменное имя сервера KUMA. - На всех серверах необходимо ВЫКЛЮЧИТЬ SELinux, а на серверах хранилищ ВКЛЮЧИТЬ использование ipv6 (проверить работу можно командой
ping ::1
, настройка тут). - Убедитесь, что срабатывает команда
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 - Установка пакетов KUMA происходит от учетной записи root (суперпользователь).
- (Опционально) В папке
kuma-ansible-installer
(появляется после распаковки архива с пакетами KUMA) в конце файлаansible.cfg
добавьте строкуlog_path = ./ansible.log
для сохранения лога установки/удаления.
- Установите поддерживаемую ОС (ссылка) на машину. Скачать образ Oracle Linux 8.9:
Требования для Хранилища и 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 мс.