Подготовка ОС перед установкой и Требования
Информация, приведенная на данной странице, является разработкой команды 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
8.9:9.4:- https://yum.oracle.com/ISOS/OracleLinux/
OL8/u9/OL9/u4/x86_64/OracleLinux-R8-U9-R9-U4-x86_64-dvd.isoUbuntu 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)
, детали см. в главах ниже
Имя
- https://yum.oracle.com/ISOS/OracleLinux/
Прикачествеустановкеименинахостаэтапе разбивке дискаосновной объем пространства (90%)выделите для раздела/opt(если его нет - необходимо создать помимо стандартных разделов Linux), а также рекомендуется отдельный раздел под журналы/var/log(~1% от общего пространства, но не более 5 Гб), остальное в корень.Настройте временнУю зону и синхронизацию системного времени с NTP-сервером(можно сделать до установки ОС, необходимо на всех серверах).Установите имя хоста. Настоятельно рекомендуетсяОБЯЗАТЕЛЬНО использовать FQDN (гдеполное доменное имя, в котором есть хотя быодна1 точка), например,kuma-1.mydomain.
.com.localУчтите,Имя
чтохоста можно задать во время установки, либо после.Настоятельно не рекомендуется изменять FQDN машин после установки
KUMAKUMA,имяособеннохостанаизменятьсерверенесследует,компонентомт.к.Core!этоЭто приведет к невозможности проверки подлинности сертификатов и нарушит сетевое взаимодействие между компонентамиKUMAKUMA.(НастройкуДляименивосстановленияхостаработоспособностиможнопотребуетсясделатьперевыпускдосертификатовустановкивсехОС).сервисов, - а также изменение их конфигурации!
Зарегистрируйте
целевуюцелевыемашинумашины в DNS-зонеВашейвашейорганизацииорганизации.(еслиДляэтопилотныхвозможно).инсталляций,Альтернативныйкаквариантальтернативу,-можно использовать файлhostshosts.дляДляпреобразования имен в IP-адресаэтого на каждоймашине.целевой - машине укажите в файле 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 сервера вашей организации.Прочее
Задайте пароль пользователю
rootroot.(Это можно сделатьдово время установкиОС).ОС.
Не создавайте на целевых машинах пользователя
kuma,kuma!онОн создается автоматически при установке продукта и наличие в системе пользователя с таким же именем может сделать вход в систему невозможным (придумайте другое имя).ПропишитеОтключите
вSELinuxфайлена тех ОС, для которых это применимо (Oracle, Ubuntu).Отключение SELinux
1. Выполните команду:
sudo setenforce 0
2. Откройте на редактирование файл
/etc/
hostsselinux/configсервера KUMA его полное доменное имяиIP адрес (в случае распределенной установки описать все сервера KUMAустановите вэтомнемфайлепараметруSELINUX=
значениеdisabled
3. Сохраните внесенные изменения и
установитьперезагрузитенамашинувсеsudo
хосты).reboot
Пропишитев файле/etc/hostnameего полное доменное имя сервера KUMA.На
всех серверахнеобходимо ВЫКЛЮЧИТЬ SELinux, анасерверах хранилищВКЛЮЧИТЬвключите использование ipv6. Если установка All-in-one, на целевой машине также требуется включить использование ipv6. Для проверки, что ipv6(проверить работувключен, можнокомандойиспользовать команду:ping ::1
,настройкаДля включения ipv6 воспользуйтесь инструкцией из
тутстатьи).Убедитесь,
чтоУстановка
срабатываетпакетовкомандаТребования
к установке на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/3.2/ru-RU/231034.htmOracle 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
происходитнеобходимыйотуровеньучетной записи root (суперпользователь).(Опционально) В папкеkuma-ansible-installer(появляется после распаковки архиваправ спакетамипомощьюKUMA)командывнижеконцеsudo
файлаpdpl-useransible.cfg-i 63 <имя пользователя>добавьтеUbuntu
строкуlog_path = ./ansible.logдля сохранения лога установки/удаления.
В
Дистрибутивы
TBD
Требования для Хранилища и ZooKeeperKeeper
Процессор
- с частотой от 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-массиве, так что каждая запись распараллеливается на всех доступных дисках без четности. Никогда не устанавливайте размер блока слишком маленьким или слишком большим.
ZookeeperKeeper более критичен к диску и требует от 1000 IOPS, в зависимости от нагрузки, идеально использовать тип носителя NVMe
Сеть
ZooKeeperKeeper нужен IPv6, включите его в ОС, если он отключен;- По возможности, используйте сети 10G и более высокого класса, минимально подойдет 1G.
- Пропускная способность сети критически важна для обработки распределенных запросов с большим количеством промежуточных данных. Также, скорость сети влияет на задержки в процессах репликации.
ZookeeperKeeper рекомендуется устанавливать на отдельные сервера, отдельно от ClickHouse (при возможности, обычно это ~ > 50k EPS), ткт.к. ZookeeperKeeper менее производительнапроизводителен при установке на одном узле с 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 мс.