Содержание
Создание хранилища
Хранилище состоит из двух частей: одна часть создается внутри веб-интерфейса KUMA, а вторая устанавливается на серверах сетевой инфраструктуры, предназначенных для хранения событий. Серверная часть хранилища KUMA представляет собой собранные в кластер узлы ClickHouse. Кластеры ClickHouse можно дополнять дисками холодного хранения данных.
Для каждого кластера ClickHouse требуется установить отдельное хранилище.
Перед созданием хранилища продумайте структуру кластера и разверните требуемую сетевую инфраструктуру. При выборе конфигурации кластера ClickHouse учитывайте требования вашей организации к хранению событий.
В качестве файловой системы рекомендуется использовать ext4.
Создание хранилища производится в несколько этапов:
- Создание набора ресурсов хранилища в веб-интерфейсе KUMA
- Создание сервиса хранилища в веб-интерфейсе KUMA
- Установка узлов хранилища в сетевой инфраструктуре
При создании узлов кластера хранилища убедитесь в сетевой связности системы и откройте используемые компонентами порты.
При изменении параметров хранилища его сервис необходимо перезапустить.
Структура кластера ClickHouse
Кластер ClickHouse – логическая группа устройств, обладающих всеми накопленными нормализованными событиями KUMA. Подразумевает наличие одного или нескольких логических шардов.
Шард – логическая группа устройств, обладающих некоторой частью всех накопленных в кластере нормализованных событий. Подразумевает наличие одной или нескольких реплик. Увеличение количества шардов позволяет:
- Накапливать больше событий за счет увеличения общего количества серверов и дискового пространства.
- Поглощать больший поток событий за счет распределения нагрузки, связанной со вставкой новых событий.
- Уменьшить время поиска событий за счет распределения поисковых зон между несколькими устройствами.
Реплика – устройство, являющееся членом логического шарда и обладающее одной копией данных этого шарда. Если реплик несколько – копий тоже несколько (данные реплицируются). Увеличение количества реплик позволяет:
- Улучшить отказоустойчивость.
- Распределить общую нагрузку, связанную с поиском данных, между несколькими машинами (однако для этой цели лучше увеличить количество шардов).
Кипер – устройство, участвующее в координации репликации данных на уровне всего кластера. На весь кластер требуется хотя бы одно устройство с этой ролью. Рекомендуемое количество устройств с такой ролью – 3. Число устройств, участвующих в координации репликации, должно быть нечетным. Роль кипера и реплики можно совмещать.
В началоПараметры узлов кластера ClickHouse
Перед созданием хранилища продумайте структуру кластера и разверните требуемую сетевую инфраструктуру. При выборе конфигурации кластера ClickHouse учитывайте требования вашей организации к хранению событий.
При создании узлов кластера ClickHouse убедитесь в сетевой связности системы и откройте используемые компонентами порты.
Для каждого узла кластера ClickHouse требуется указать следующие параметры:
- Полное доменное имя (FQDN) – уникальный адрес, по которому должен быть доступен узел. Необходимо указывать FQDN целиком, например
kuma-storage.example.com
. - Идентификаторы шарда, реплики и кипера – комбинация этих параметров определяет положение узла в структуре кластера ClickHouse и его роль.
Роли узлов
Роли узлов зависят от указанных параметров:
- шард, реплика, кипер – узел участвует в накоплении и поиске нормализованных событий KUMA, а также в координации репликации данных на уровне всего кластера.
- шард, реплика – узел участвует в накоплении и поиске нормализованных событий KUMA.
- кипер – узел не накапливает нормализованные события, но участвует в координации репликации данных на уровне всего кластера. Выделенные киперы следует указывать в начале списка в разделе Ресурсы → Хранилища → <Хранилище> → Основные настройки → Узлы кластера ClickHouse.
Требования к идентификаторам:
- Если в одном кластере создано несколько шардов, идентификаторы шардов должны быть уникальными в рамках этого кластера.
- Если в одном шарде создано несколько реплик, идентификаторы реплик должны быть уникальными в рамках этого шарда.
- Идентификаторы киперов должны быть уникальными в рамках кластера.
Пример идентификаторов узлов кластера ClickHouse:
- шард 1, реплика 1, кипер 1;
- шард 1, реплика 2;
- шард 2, реплика 1;
- шард 2, реплика 2, кипер 3;
- шард 2, реплика 3;
- кипер 2.
Холодное хранение событий
В KUMA можно настроить перенос устаревших данных с кластера ClickHouse на холодное хранение. Для холодного хранения могут использоваться смонтированные в операционной системе локальные диски или распределенная файловая система Hadoop Distributed File System (HDFS). Функция холодного хранения включается, если указан хотя бы один диск холодного хранения. Если используется несколько хранилищ,на каждом узле с данными должен быть смонтирован диск холодного хранения или диск HDFS по пути, указанному в конфигурации хранилища. Если диск холодного хранения не настроен и на сервере в горячем хранилище закончилось место, сервис хранилища остановится. Если есть горячее и холодное хранение и на диске холодного хранения закончилось место, сервис хранилища KUMA остановится. Мы рекомендуем избегать таких ситуаций с помощью добавления пользовательских условий хранения событий в горячем хранилище.
Диски холодного хранения можно добавлять и удалять. Если вы добавили несколько дисков холодного хранения, данные будут записываться на них по стандартному принципу чередования (англ. round-robin) по круговому циклу. Если данные, которые необходимо записать на диск, занимают больше места, чем свободно на этом диске, эти данные и все последующие будут записываться по принципу чередования на следующие диски холодного хранения. Если вы добавили только два диска холодного хранения, данные будут записываться на тот диск, на котором есть свободное место.
После изменения параметров холодного хранения сервис хранилища необходимо перезапустить. Если сервис не запускается, причина будет указана в журнале хранилища.
Если указанный в параметрах хранилища диск холодного хранения стал недоступен (например, вышел из строя), это может привести к ошибкам в работе сервиса хранилища. В этом случае необходимо воссоздать диск с таким же путем (для локальных дисков) или таким же адресом (для HDFS-дисков), а затем удалить его из параметров хранилища.
Правила переноса данных на диски холодного хранения
Вы можете настроить условия хранения событий в горячем хранилище кластера ClickHouse, задав ограничение по сроку хранения или по максимальному размеру хранилища. При задействованном холодном хранении KUMA раз в 15 минут и после перезагрузки Ядра проверяет выполнение заданных условий хранения следующим образом:
- KUMA получает партиции для проверяемого хранилища и группирует их по дискам холодного хранения и пространствам.
- Для каждого пространства KUMA проверяет, выполняется ли заданное условие хранения.
- Если условие выполняется (например, в пространстве есть события, хранящиеся дольше указанного срока, или размер хранилища достиг или превышает указанное в условии значение), KUMA переносит все партиции за самую старую дату на диски холодного хранения либо удаляет эти партиции, если диск холодного хранения не настроен или настроен неверно. Это действие повторяется до тех пор, пока в пространстве выполняется заданное условие хранения, например, если после удаления партиций за одну дату размер хранилища все еще превышает заданный в условии максимальный размер.
При начале и окончании переноса или удалении данных KUMA создает события аудита.
- Если настроен срок хранения данных в KUMA, при переносе партиций на диски холодного хранения проверяется, выполняются ли на диске заданные условия. Если на диске обнаружены события, хранящиеся дольше срока, заданного в параметре Время хранения событий, который рассчитывается с момента их поступления в KUMA, решение удаляет эти события или все партиции за самую старую дату.
При удалении данных KUMA создает события аудита.
Если диски кластера ClickHouse заполнены на 95%, самые большие партиции автоматически переносятся на диски холодного хранения. Это действие может происходить больше одного раза в час.
Во время переноса данных сервис хранилища продолжает работать, при этом в разделе веб-интерфейса KUMA Ресурсы → Активные сервисы для него сохраняется зеленый статус. При наведении курсора мыши на значок статуса отображается сообщение о переносе данных. При удалении холодного диска сервис хранилища отображается в желтом статусе.
Особенности хранения событий и доступа к ним
- При использовании для холодного хранения HDFS-дисков необходимо обеспечить защиту данных одним из следующих способов:
- Настроить отдельный физический интерфейс в сети VLAN, в котором будут расположены только HDFS-диски и кластер ClickHouse.
- Настроить правила сегментации сети и фильтрации трафика, исключающие прямой доступ к HDFS-диску или перехват трафика к диску со стороны ClickHouse.
- События, находящиеся в кластере ClickHouse и на дисках холодного хранения, одинаково доступны в веб-интерфейсе KUMA. Например, при поиске событий или при просмотре событий, относящихся к алертам.
- Допускается не хранить события или события аудита на дисках холодного хранения. Для этого в параметрах хранилища укажите следующие значения:
- Если вы не хотите хранить события на дисках холодного хранения, выполните одно из следующих действий:
- Если в поле Варианты условий хранения выбрано условие хранения в гигабайтах или процентах, в поле Время хранения событий укажите значение
0
. - Если в поле Варианты условий хранения выбрано условие хранения в днях, в поле Время хранения событий укажите такое же значение дней, как в поле Варианты условий хранения.
- Если в поле Варианты условий хранения выбрано условие хранения в гигабайтах или процентах, в поле Время хранения событий укажите значение
- Если вы не хотите хранить события аудита на дисках холодного хранения, в поле Срок холодного хранения событий аудита укажите значение
0
(дней).
- Если вы не хотите хранить события на дисках холодного хранения, выполните одно из следующих действий:
Особенности использования HDFS-дисков
- Перед подключением HDFS-дисков на них необходимо создать директории для каждого узла кластера ClickHouse в формате
<хост HDFS-диска>/<идентификатор шарда>/<идентификатор реплики>
. Например, если кластер состоит из двух узлов, на которых расположены две реплики одного шарда, необходимо создать следующие директории:- hdfs://hdfs-example-1:9000/clickhouse/1/1/
- hdfs://hdfs-example-1:9000/clickhouse/1/2/
События из узлов кластера ClickHouse будут переноситься в директории, в названии которых указаны идентификаторы их шарда и реплики. Если изменить эти параметры узла и при этом не создать соответствующую директорию на HDFS-диске, события при переносе могут быть потеряны.
- HDFS-диски, добавленные к хранилищу, работают в режиме JBOD. Это означает, что при отказе одного из дисков будет потерян доступ к хранилищу. При использовании HDFS следует учитывать необходимость отказоустойчивости и настроить RAID, а также хранение данных из разных реплик на различных устройствах.
- Скорость записи событий в HDFS, как правило, ниже скорости записи событий на локальные диски. Скорость доступа к событиям в HDFS, как правило, значительно ниже скорости доступа к событиям на локальных дисках. При использовании одновременно локальных дисков и HDFS-дисков запись будет происходить в них по очереди.
- HDFS используется только в качестве распределенного хранилища файловых данных ClickHouse. Для сжатия данных используются механизмы сжатия ClickHouse, а не HDFS.
- Сервер ClickHouse должен иметь доступ к соответствующему хранилищу HDFS с правами на запись.
Удаление дисков холодного хранения
Перед физическим отключением дисков холодного хранения необходимо удалить эти диски из параметров хранилища.
Чтобы удалить диск из параметров хранилища:
- В веб-интерфейсе KUMA перейдите в раздел Ресурсы → Хранилища и выберите нужное хранилище.
Откроется хранилище.
- В окне в разделе Диски холодного хранения в блоке параметров нужного диска нажмите Удалить диск.
Данные с удаляемого диска автоматически начинают переноситься на другие диски холодного хранения или, если их нет, в кластер ClickHouse. В процессе переноса данных значок статуса хранилища светится желтым цветом и отображается значок песочных часов. При начале и окончании переноса данных создаются события аудита.
- По завершении переноса событий диск автоматически удаляется из параметров хранилища. Теперь его можно безопасно отключить.
На удаляемых дисках могут оставаться события. Если вы хотите их удалить, вы можете, например, вручную удалить партиции с данными с помощью команды DROP PARTITION.
Если указанный в параметрах хранилища диск холодного хранения стал недоступен (например, вышел из строя), это может привести к ошибкам в работе сервиса хранилища. В этом случае необходимо создать диск с таким же путем (для локальных дисков) или таким же адресом (для HDFS-дисков), а затем удалить его из параметров хранилища.
В началоОтключение, архивирование и подключение партиций
Если вы хотите оптимизировать дисковое пространство и ускорить выполнение запросов в KUMA, вы можете отключить в ClickHouse партиции с данными, архивировать партиции или перенести их на носитель. При необходимости вы можете снова подключить необходимые партиции и выполнить обработку данных.
Отключение партиций
Чтобы отключить партиции, выполните следующие шаги:
- Определите шард, на всех репликах которого вы планируете отключить партицию.
- Получите идентификатор партиции с помощью следующей команды:
sudo /opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "SELECT partition, name FROM system.parts;" |grep 20231130
В приведенном примере в результате выполнения команды будет получен идентификатор партиции от 30 ноября 2023 года.
- На каждой реплике шарда отключите партицию с помощью следующей команды, указав требуемый идентификатор:
sudo /opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "ALTER TABLE events_local_v2 DETACH PARTITION ID '<идентификатор партиции>'"
В результате партиция отключена на всех репликах шарда. Теперь вы можете перенести каталог с данными на носитель или заархивировать партицию.
Архивирование партиций
Чтобы архивировать отключенные партиции:
- Найдите отключенную партицию в дисковой подсистеме сервера:
sudo find /opt/kaspersky/kuma/clickhouse/data/ -name <идентификатор отключенной партиции>\*
Перейдите в каталог detached с отключенной партицией и, находясь в каталоге detached, выполните архивирование:
sudo cd <путь к каталогу detached, содержащему отключенную партицию>
sudo zip -9 -r detached.zip *
Например:
sudo cd /opt/kaspersky/kuma/clickhouse/data/store/d5b/d5bdd8d8-e1eb-4968-95bd-d8d8e1eb3968/detached/
sudo zip -9 -r detached.zip *
Архивирование партиции выполнено.
Подключение партиций
Чтобы подключить архивные партиции к KUMA, необходимо выполнить следующие действия:
- Увеличьте значение параметра Срок хранения.
KUMA удаляет данные на основании даты, указанной в поле Timestamp - когда событие получено, и на основании значения параметра Срок хранения, которое вы задали для хранилища.
Перед тем как выполнять восстановление архивных данных, убедитесь, что значение параметра Срок хранения перекрывает дату из поля Timestamp. В противном случае, архивные данные будут удалены в течение 1 часа.
- Поместите архивную партицию в раздел detached вашего хранилища и распакуйте архив:
sudo
unzip detached.zip -d<путь к каталогу detached>
Например:
sudo
unzip detached.zip -d/opt/kaspersky/kuma/clickhouse/data/store/d5b/d5bdd8d8-e1eb-4968-95bd-d8d8e1eb3968/detached/
- Выполните команду подключения партиции:
sudo /opt/kaspersky/kuma/clickhouse/bin/client.sh -d kuma --multiline --query "ALTER TABLE events_local_v2 ATTACH PARTITION ID '<идентификатор партиции>'"
Повторите шаги распаковки архива и подключения партиции на каждой реплике шарда.
В результате архивная партиция подключена и события снова доступны для поиска.
В началоСоздание набора ресурсов для хранилища
Сервис хранилища в веб-интерфейсе KUMA создается на основе набора ресурсов для хранилища.
Чтобы создать набор ресурсов для хранилища в веб-интерфейсе KUMA:
- В веб-интерфейсе KUMA в разделе Ресурсы → Хранилища нажмите Добавить хранилище.
Откроется окно Создание хранилища.
- На вкладке Основные параметры в поле Название хранилища введите уникальное имя создаваемого сервиса. Имя должно содержать от 1 до 128 символов в кодировке Unicode.
- В раскрывающемся списке Тенант выберите тенант, которому будет принадлежать хранилище.
- В раскрывающемся списке Теги выберите теги для создаваемого набора ресурсов.
В списке отображаются все доступные теги, созданные в тенанте ресурса и Общем тенанте. Вы может найти тег в списке, начав вводить его название в поле. Если тега, который вы ввели, не существует, вы можете нажать Enter или Добавить, чтобы создать его.
- В поле Описание можно добавить описание сервиса: до 256 символов в кодировке Unicode.
- В поле Варианты условий хранения выберите для хранилища условие хранения событий в кластере ClickHouse, при выполнении которого события будут переноситься на диски холодного хранения или удаляться, если холодное хранение не настроено или настроено неверно. Условие будет применено к пространству по умолчанию и к событиям из удаленных пространств.
По умолчанию ClickHouse перемещает события на диски холодного хранения или удаляет их, если заполнено более 97% хранилища. В KUMA при создании хранилища также используется дополнительное условие хранения 365 дней. Вы можете настроить пользовательские условия хранения для более устойчивой работы хранилища.
Чтобы задать условие хранения, выполните одно из следующих действий:
- Если вы хотите ограничить срок хранения событий, в раскрывающемся списке выберите Дни и в поле укажите максимальный срок хранения событий в днях в кластере горячего хранилища ClickHouse.
По истечении указанного срока события будут автоматически перенесены на диски холодного хранения или удалены из кластера ClickHouse, начиная с партиций за самую старую дату. Минимальное значение – 1. Значение по умолчанию – 365.
- Если вы хотите ограничить максимальный размер хранилища, в раскрывающемся списке выберите ГБ и в поле укажите максимальный размер хранилища в гигабайтах.
Когда размер хранилища достигнет указанного значения, события будут автоматически перенесены на диски холодного хранения или удалены из кластера ClickHouse, начиная с партиций за самую старую дату. Минимальное значение и значение по умолчанию – 1.
- Если вы хотите ограничить размер хранилища относительно объема диска, который доступен хранилищу (по данным VictoriaMetrics), в раскрывающемся списке выберите Проценты и в поле укажите максимальный размер хранилища в процентах от доступного объема диска. В этом случае условие также может сработать при уменьшении доступного хранилищу объема диска.
Когда размер хранилища достигнет указанной доли от доступного ему размера диска, события будут автоматически перенесены на диски холодного хранения или удалены из кластера ClickHouse, начиная с партиций за самую старую дату. Допустимые значения – от 1 до 95. Значение по умолчанию – 80. Если вы хотите использовать проценты для всех пространств хранилища, сумма процентов в условиях всех пространств не может превышать 95, но мы рекомендуем указывать ограничение не более 90% включительно для всего хранилища или для отдельных пространств.
Мы не рекомендуем указывать малые значения процентов, так как в этом случае возрастает вероятность потери данных в хранилище.
Для хранилища [ООТВ] Storage по умолчанию установлен срок хранения событий 2 дня. Если вы хотите использовать это хранилище, при необходимости вы можете изменить для него условие хранения событий.
- Если вы хотите ограничить срок хранения событий, в раскрывающемся списке выберите Дни и в поле укажите максимальный срок хранения событий в днях в кластере горячего хранилища ClickHouse.
- Если вы хотите использовать дополнительное условие хранения, нажмите на кнопку Добавить условие хранения и укажите дополнительное условие хранения, как описано в пункте 6.
Вы можете добавить не более двух условий и сочетать только условия следующих типов:
- дни и размер хранилища в ГБ;
- дни и размер хранилища в процентах.
Если вы хотите удалить условие хранения, нажмите на значок крестика возле этого условия.
- В поле Срок хранения событий аудита укажите, в течение какого количества дней вы хотите хранить события аудита. Минимальное значение и значение по умолчанию:
365
. - При необходимости холодного хранения данных введите сроки хранения событий:
- Время хранения событий – общая длительность хранения событий в KUMA с момента поступления, в днях. По истечении указанного срока события будут автоматически удалены с диска холодного хранения. Значение по умолчанию – 0.
Время хранения событий рассчитывается как сумма времени хранения событий в кластере горячего хранилища ClickHouse до наступления условия, заданного в параметре Варианты условий хранения, и времени хранения событий на диске холодного хранения. После наступления одного из условий хранения партиция данных за самую старую дату перемещается на диск холодного хранения и находится там до истечения времени хранения событий в KUMA.
В зависимости от заданного условия хранения время хранения будет следующим:
- Если вы задали условие хранения в днях, значение параметра Время хранения событий должно быть строго больше количества дней, указанного в условии хранения. Вы можете рассчитать срок холодного хранения событий как Время хранения событий минус количество дней, указанное в параметре Варианты условий хранения.
Если вы не хотите хранить события на диске холодного хранения, в параметре Время хранения событий вы можете указать такое же количество дней, как в условии хранения.
- Если вы задали условие хранения в размере диска (точном или в процентах), минимальное значение параметра Время хранения событий – 1. Срок холодного хранения событий будет рассчитан как Время хранения событий минус количество дней с поступления события до момента выполнения условия и заполнения раздела диска, но до выполнения условия невозможно рассчитать точный срок. В этом случае мы рекомендуем указывать относительно большое значение параметра Время хранения событий, чтобы избежать удаления событий.
Если вы не хотите хранить события на диске холодного хранения, в параметре Время хранения событий вы можете указать значение 0.
- Если вы задали условие хранения в днях, значение параметра Время хранения событий должно быть строго больше количества дней, указанного в условии хранения. Вы можете рассчитать срок холодного хранения событий как Время хранения событий минус количество дней, указанное в параметре Варианты условий хранения.
- Срок холодного хранения событий аудита – количество дней хранения событий аудита. Минимальное значение – 0.
Параметры Время хранения событий и Срок холодного хранения событий аудита становятся доступны, только после того как вы добавили хотя бы один диск холодного хранения.
- Время хранения событий – общая длительность хранения событий в KUMA с момента поступления, в днях. По истечении указанного срока события будут автоматически удалены с диска холодного хранения. Значение по умолчанию – 0.
- При необходимости изменения параметров ClickHouse в поле Переопределение параметров ClickHouse вставьте строки c параметрами из XML-файла конфигурации ClickHouse /opt/kaspersky/kuma/clickhouse/cfg/config.xml. Указание корневых элементов <yandex>, </yandex> не требуется. Переданные в поле параметры конфигурации будут использоваться вместо параметров по умолчанию.
Пример:
<merge_tree>
<parts_to_delay_insert>600</parts_to_delay_insert>
<parts_to_throw_insert>1100</parts_to_throw_insert>
</merge_tree>
- С помощью переключателя Отладка укажите, будет ли включено логирование ресурса. Если вы хотите для всех компонентов KUMA регистрировать в журнале только ошибки, выключите отладку. Если вы хотите получать детализированные данные в журналах, включите отладку.
- При необходимости в разделе Узлы кластера ClickHouse добавьте в хранилище узлы кластера ClickHouse.
Узлов может быть несколько. Узлы можно добавить с помощью кнопки Добавить узел и удалить, нажав на значок крестика в блоке нужного узла.
Доступные параметры:
- В поле FQDN укажите полное доменное имя добавляемого узла. Например,
kuma-storage-cluster1-server1.example.com
. - В полях Идентификатор шарда, Идентификатор реплики и Идентификатор кипера укажите роль узла в кластере ClickHouse. Идентификаторы шарда и кипера должны быть уникальными в рамках кластера, идентификатор реплики должен быть уникальным в рамках шарда. Ниже показан пример заполнения раздела Узлы кластера ClickHouse для хранилища с выделенными киперами в распределенной схеме установки. Вы можете адаптировать пример для своих потребностей.
Пример:
Узлы кластера ClickHouse
Полное доменное имя: kuma-storage-cluster1-server1.example.com
Идентификатор шарда: 0
Идентификатор реплики: 0
Идентификатор кипера: 1
Полное доменное имя: kuma-storage-cluster1server2.example.com
Идентификатор шарда: 0
Идентификатор реплики: 0
Идентификатор кипера: 2
Полное доменное имя: kuma-storage-cluster1server3.example.com
Идентификатор шарда: 0
Идентификатор реплики: 0
Идентификатор кипера: 3
Полное доменное имя: kuma-storage-cluster1server4.example.com
Идентификатор шарда: 1
Идентификатор реплики: 1
Идентификатор кипера: 0
Полное доменное имя: kuma-storage-cluster1server5.example.com
Идентификатор шарда: 1
Идентификатор реплики: 2
Идентификатор кипера: 0
Полное доменное имя: kuma-storage-cluster1server6.example.com
Идентификатор шарда: 2
Идентификатор реплики: 1
Идентификатор кипера: 0
Полное доменное имя: kuma-storage-cluster1server7.example.com
Идентификатор шарда: 2
Идентификатор реплики: 2
Идентификатор кипера: 0
- В поле FQDN укажите полное доменное имя добавляемого узла. Например,
- При необходимости в разделе Пространства добавьте в хранилище пространства, по которым вы хотите распределять хранимые события.
Пространств может быть несколько. Пространства можно добавить с помощью кнопки Добавить пространство и удалить, нажав на значок крестика в блоке нужного пространства.
Доступные параметры:
- В поле Название укажите название пространства: от 1 до 128 символов в кодировке Unicode.
- В поле Варианты условий хранения выберите для пространства условие хранения событий в кластере ClickHouse, при выполнении которого события будут переноситься на диски холодного хранения или удаляться, если холодное хранение не настроено или настроено неверно. В KUMA при добавлении пространства используется условие хранения 365 дней.
Чтобы задать условие хранения для пространства, выполните одно из следующих действий:
- Если вы хотите ограничить срок хранения событий, в раскрывающемся списке выберите Дни и в поле укажите максимальный срок хранения событий в днях в кластере горячего хранилища ClickHouse.
По истечении указанного срока события будут автоматически перенесены на диски холодного хранения или удалены из кластера ClickHouse, начиная с партиций за самую старую дату. Минимальное значение – 1. Значение по умолчанию – 365.
- Если вы хотите ограничить максимальный размер пространства хранилища, в раскрывающемся списке выберите ГБ и в поле укажите максимальный размер пространства в гигабайтах.
Когда размер пространства достигнет указанного значения, события будут автоматически перенесены на диски холодного хранения или удалены из кластера ClickHouse, начиная с партиций за самую старую дату. Минимальное значение и значение по умолчанию – 1.
- Если вы хотите ограничить размер пространства хранилища относительно объема диска, который доступен хранилищу (по данным VictoriaMetrics), в раскрывающемся списке выберите Проценты и в поле укажите максимальный размер пространства в процентах от объема диска, доступного хранилищу. В этом случае условие также может сработать при уменьшении доступного хранилищу объема диска.
Когда размер пространства достигнет указанной доли от объема диска, доступного хранилищу, события будут автоматически перенесены на диски холодного хранения или удалены из кластера ClickHouse, начиная с партиций за самую старую дату. Допустимые значения – от 1 до 95. Значение по умолчанию – 80. Если вы хотите использовать проценты для всех пространств хранилища, сумма процентов в условиях всех пространств не может превышать 95, но мы рекомендуем указывать ограничение не более 90% включительно для всего хранилища или для отдельных пространств.
Мы не рекомендуем указывать малые значения процентов, так как в этом случае возрастает вероятность потери данных в хранилище.
При использовании размера в качестве условия хранения требуется следить, чтобы суммарный размер пространств, указанный в условиях хранения не превышал физический размер хранилища, иначе при запуске сервиса отобразится ошибка.
В условиях хранения с ограничением размера для всех пространствах хранилища используйте одинаковые единицы изменения (только в гигабайтах или только в процентах). Иначе, если для одного пространства условие задано в процентах, а для другого в гигабайтах, хранилище может переполниться из-за несоответствия значений и данные будут утеряны.
- Если вы хотите ограничить срок хранения событий, в раскрывающемся списке выберите Дни и в поле укажите максимальный срок хранения событий в днях в кластере горячего хранилища ClickHouse.
- При необходимости сделать пространство неактивным в случае, если оно устарело и больше не является актуальным, установите флажок Только для чтения.
В этом случае новые события больше не будут попадать в пространство. Чтобы снова сделать пространство активным, снимите флажок Только для чтения. По умолчанию флажок снят.
- При необходимости в поле Время хранения событий укажите общую длительность хранения событий в KUMA с момента поступления, в днях. По истечении указанного срока события будут автоматически удалены с диска холодного хранения. Значение по умолчанию – 0.
Время хранения событий рассчитывается как сумма времени хранения событий в кластере горячего хранилища ClickHouse до наступления условия, заданного в параметре Варианты условий хранения, и времени хранения событий на диске холодного хранения. После наступления одного из условий хранения партиция данных за самую старую дату перемещается на диск холодного хранения и находится там до истечения времени хранения событий в KUMA.
В зависимости от заданного условия хранения время хранения будет следующим:
- Если вы задали условие хранения в днях, значение параметра Время хранения событий должно быть строго больше количества дней, указанного в условии хранения. Срок холодного хранения событий будет рассчитан как Время хранения событий минус количество дней, указанное в параметре Варианты условий хранения.
Если вы не хотите хранить события из этого пространства на диске холодного хранения, в параметре Время хранения событий вы можете указать такое же количество дней, как в условии хранения.
- Если вы задали условие хранения в размере диска (точном или в процентах), минимальное значение параметра Время хранения событий – 1. Срок холодного хранения событий будет рассчитан как Время хранения событий минус количество дней с поступления события до момента выполнения условия и заполнения раздела диска, но до выполнения условия невозможно рассчитать точный срок. В этом случае мы рекомендуем указывать относительно большое значение параметра Время хранения событий, чтобы избежать удаления событий.
Если вы не хотите хранить события из этого пространства на диске холодного хранения, в параметре Время хранения событий вы можете указать значение 0.
Параметр Время хранения событий становится доступен, только после того как вы добавили хотя бы один диск холодного хранения.
- Если вы задали условие хранения в днях, значение параметра Время хранения событий должно быть строго больше количества дней, указанного в условии хранения. Срок холодного хранения событий будет рассчитан как Время хранения событий минус количество дней, указанное в параметре Варианты условий хранения.
- В разделе Параметры фильтра можно задать условия определения событий, которые будут помещаться в это пространство. Чтобы создать новый фильтр, в раскрывающемся списке Фильтр выберите существующий фильтр или Создать.
После создания сервиса пространства можно просматривать и удалять в параметрах набора ресурсов хранилища.
Нет необходимости создавать отдельное пространство для событий аудита. События этого типа (Type=4) автоматически помещаются в отдельное пространство Audit со сроком хранения не менее 365 дней, которое недоступно для редактирования или удаления из веб-интерфейса KUMA.
- При необходимости в разделе Диски холодного хранения добавьте в хранилище диски, на которые вы хотите переносить события на длительное хранение из кластера ClickHouse.
Дисков может быть несколько. Диски можно добавить с помощью кнопки Добавить диск и удалить с помощью кнопки Удалить диск.
Доступные параметры:
- В раскрывающемся списке Полное доменное имя выберите тип доменного имени подключаемого диска:
- Локальный – для дисков, смонтированных в операционной системе как директории.
- HDFS – для дисков распределенной файловой системы Hadoop Distributed File System.
- В поле Название укажите название диска. Название должно содержать от 1 до 128 символов в кодировке Unicode.
- Если в качестве типа доменного имени диска вы выбрали Локальный, в поле Путь введите абсолютный путь директории смонтированного локального диска. Путь должен начинаться и оканчиваться символом "/".
Владельцем директории смонтированного локального диска должен быть пользователь KUMA.
- Если в качестве типа доменного имени диска вы выбрали HDFS, в поле Хост введите путь к HDFS. Например:
hdfs://hdfs1:9000/clickhouse/
.
- В раскрывающемся списке Полное доменное имя выберите тип доменного имени подключаемого диска:
- Перейдите на вкладку Дополнительные параметры и заполните следующие поля:
- В поле Размер буфера укажите размер буфера в байтах, при достижении которого следует передать события в базу. Значение по умолчанию — 128 МБ. Максимального значения нет. Если на виртуальной машине меньше свободной памяти, чем заданное значение Размер буфера, KUMA установит ограничение в 128 МБ.
Если ожидаемый трафик на сервис хранилища будет больше 1 Гбит/сек, мы рекомендуем изменить значение параметра Размер буфера в байтах в соответствии с известным вам значением и указать значение параметра Интервал очистки буфера равное 2.
Значение параметра Размер буфера можно определить опытным путем. Если на метрике хранилища Insert QPS показатель превышает 1 и видно, что накапливается очередь запросов, воспользуйтесь рекомендациями по расчету и корректировке значения параметра Размер буфера, приведенными в статье Просмотр метрик KUMA в разделе Insert QPS.
- В поле Максимальный размер буфера укажите максимальный размер буфера в байтах. Значение по умолчанию — 256 МБ.
По умолчанию события записываются в базу данных раз в секунду. Если поток событий возрастает и события начинают записываться чаще, чем раз в секунду, размер буфера автоматически увеличивается. Буфер увеличится максимум в три раза от значения в поле Размер буфера, но не может превысить значения в поле Максимальный размер буфера. После увеличения размера буфера при нормализации нагрузки размер не меняется, автоматическое уменьшение буфера не предусмотрено.
Если вы укажете значение в поле Максимальный размер буфера меньшим или равным значению в поле Размер буфера, то размер буфера не изменится.
При перезапуске сервиса хранилища увеличенный размер буфера сбрасывается до значения в поле Размер буфера.
- В поле Интервал очистки буфера укажите интервал в секундах, в течение которого KUMA будет ждать заполнения буфера. Если буфер не заполнен, но указанное время прошло, KUMA передает события в базу. Значение по умолчанию 1 с.
- В поле Требуемый объем памяти укажите минимальный размер свободной оперативной памяти в байтах. Значение по умолчанию — 128 МБ.
Если на узле, на котором установлено хранилище, свободной оперативной памяти окажется меньше указанного значения, запрос на запись событий в базу данных вернет ошибку, события будут записаны позже. Ограничение размера памяти позволяет избежать ситуации, когда память переполняется, если по какой-либо причине запись событий в базу данных блокируется и данные начинают накапливаться в памяти.
- В поле Ограничение размера дискового буфера укажите значение в байтах. Дисковый буфер используется для временного размещения тех событий, которые не удалось отправить для дальнейшей обработки или хранения. Если выделенное под дисковый буфер дисковое пространство исчерпано, события ротируются по следующему правилу: новые события замещают самые старые события, записанные в буфер. Значение по умолчанию: 10 ГБ.
- С помощью переключателя Дисковый буфер включите или выключите использование дискового буфера. По умолчанию дисковый буфер включен.
- С помощью переключателя Запись в локальную таблицу базы данных включите или выключите запись в локальную таблицу базы данных. По умолчанию запись выключена.
Если вы включите запись, она будет выполняться только на том узле, на котором установлено хранилище. Мы рекомендуем использовать эту функцию только при условии, что у вас настроена балансировка на коллекторе и/или корреляторе: в коллекторе и/или корреляторе на шаге 6. Маршрутизация в разделе Дополнительные настройки в поле Политика выбора URL установлено значение По очереди.
Если вы выключите запись, данные распределяются по шардам кластера.
- При необходимости с помощью переключателя Отладка включите логирование операций сервиса.
- Переключатель Периодическое создание дампа используется по запросу Службы технической поддержки для генерации отчетов по потреблению ресурсов (cpu, ram и т.д.) в виде дампов.
- В поле Настройки дампа вы можете указать параметры создания дампа. Порядок заполнения этого поля уточняйте у Службы технической поддержки.
- В поле Размер буфера укажите размер буфера в байтах, при достижении которого следует передать события в базу. Значение по умолчанию — 128 МБ. Максимального значения нет. Если на виртуальной машине меньше свободной памяти, чем заданное значение Размер буфера, KUMA установит ограничение в 128 МБ.
Набор ресурсов для хранилища создан и отображается в разделе Ресурсы → Хранилища. Теперь можно создать сервис хранилища.
В началоСоздание сервиса хранилища в веб-интерфейсе KUMA
Когда набор ресурсов для хранилища создан, можно перейти к созданию сервиса хранилища в KUMA.
Чтобы создать сервис хранилища в веб-интерфейсе KUMA:
- В веб-интерфейсе KUMA в разделе Ресурсы → Активные сервисы нажмите Добавить сервис.
- В открывшемся окне Выберите сервис выберите только что созданный набор ресурсов для хранилища и нажмите Создать сервис.
Сервис хранилища создан в веб-интерфейсе KUMA и отображается в разделе Ресурсы → Активные сервисы. Теперь сервисы хранилища необходимо установить на каждом узле кластера ClickHouse, используя идентификатор сервиса.
В началоУстановка хранилища в сетевой инфраструктуре KUMA
Чтобы создать хранилище:
- Войдите на сервер, на котором вы хотите установить сервис.
- Выполните следующую команду:
sudo /opt/kaspersky/kuma/kuma storage --core https://<FQDN сервера Ядра KUMA>:<порт, используемый Ядром KUMA для внутренних коммуникаций (по умолчанию используется порт 7210)> --id <
идентификатор сервиса, скопированный из веб-интерфейса KUMA> --install
Пример:
sudo /opt/kaspersky/kuma/kuma storage --core https://kuma.example.com:7210 --id XXXXX --install
При развертывании нескольких сервисов KUMA на одном хосте в процессе установки необходимо указать уникальные порты для каждого компонента с помощью параметра
--api.port <порт>
. По умолчанию используется значение--api.port 7221
. - Повторите шаги 1–2 для каждого узла хранилища.
На одном хосте может быть установлен только один сервис хранилища.
Хранилище установлено.
В начало