Kaspersky Unified Monitoring and Analysis Platform

Дополнительные кластеры ClickHouse

В KUMA можно добавить более одного кластера хранилища ClickHouse. Добавление дополнительного кластера ClickHouse производится в несколько этапов:

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

    На целевой машине необходимо в директории /etc/hosts указать FQDN сервера с Ядром KUMA.

  2. Подготовка файла инвентаря кластера

    В зависимости от типа установки – локальной или удаленной, – файл инвентаря готовится на целевой машине или на машине с установленным Ядром KUMA.

  3. Установка дополнительного кластера
  4. Создание хранилища

При создании узлов кластера хранилища убедитесь в сетевой связности системы и откройте используемые компонентами порты.

В этом разделе

Подготовка файла инвентаря кластера

Установка дополнительного кластера

Удаление кластера

В начало
[Topic 238599]

Подготовка файла инвентаря кластера

Установка, обновление и удаление компонентов KUMA производится из директории с распакованным установщиком с помощью инструмента Ansible и созданного пользователем файла инвентаря с перечнем хостов компонентов KUMA и других параметров. Файл инвентаря имеет формат YAML.

Чтобы создать файл инвентаря:

  1. Перейдите в директорию распакованного установщика KUMA, выполнив следующую команду:

    cd kuma-ansible-installer

  2. Создайте файл инвентаря, скопировав шаблон additional-storage-cluster.inventory.yml.template:

    cp additional-storage-cluster.inventory.yml.template additional-storage-cluster.inventory.yml

  3. Отредактируйте параметры файла инвентаря:
    • Если вы хотите, чтобы при установке были созданы демонстрационные сервисы, присвойте параметру deploy_example_services значение true.

      deploy_example_services: true

      Демонстрационные сервисы можно создать только при первичной установке KUMA – при обновлении системы с помощью того же файла инвентаря демонстрационные сервисы созданы не будут.

    • Если машины не зарегистрированы в DNS-зоне вашей организации, присвойте параметру generate_etc_hosts значение true, а также для каждой машины в инвентаре замените значения параметра ip (0.0.0.0) на актуальные IP-адреса.

      generate_etc_hosts: true

      При использование этого параметра установщик автоматически дополнит файлы /etc/hosts на машинах, куда устанавливаются компоненты KUMA, IP-адресами машин из файла инвентаря.

    • Присвойте параметру ansible_connection значение:
      • Укажите local, если хотите установить кластер локально, на предназначенном ему сервере:

        ansible_connection: local

      • Укажите ssh, если хотите установить кластер централизовано, с сервера с установленным Ядром KUMA:

        ansible_connection: ssh

  4. Укажите в файле инвентаря в разделе storage полные имена доменов хостов, на которых вы хотите установить ноды кластера. Если машины не зарегистрированы в DNS-зоне вашей организации, замените значения параметра ip (0.0.0.0) на актуальные IP-адреса.

    Компоненты хранилища: кластеры, шарды, реплики, киперы

    Кластер ClickHouse (cluster) – логическая группа машин, обладающих всеми накопленными нормализованными событиями KUMA. Подразумевает наличие одного или нескольких логических шардов.

    Шард (shard) – логическая группа машин, обладающих некоторой частью всех накопленных в кластере нормализованных событий. Подразумевает наличие одной или нескольких реплик. Увеличение количества шардов позволяет:

    • Накапливать больше событий за счет увеличения общего количества серверов и дискового пространства.
    • Поглощать больший поток событий за счет распределения нагрузки, связанной со вставкой новых событий.
    • Уменьшить время поиска событий за счет распределения поисковых зон между несколькими машинами.

    Реплика (replica) – машина, являющаяся членом логического шарда и обладающая одной копией данных этого шарда. Если реплик несколько – копий тоже несколько (данные реплицируются). Увеличение количества реплик позволяет:

    • Улучшить отказоустойчивость.
    • Распределить общую нагрузку, связанную с поиском данных, между несколькими машинами (однако для этой цели лучше увеличить количество шардов).

    Кипер (keeper) – машина, участвующая в координации репликации данных на уровне всего кластера. На весь кластер требуется хотя бы одна машина с этой ролью. Рекомендуемое количество машин с такой ролью – 3. Число машин, участвующих в координации репликации, должно быть нечетным. Роль кипера и реплики можно совмещать.

    Каждая машина в разделе storage может иметь следующие комбинации параметров:

    • shard + replica + keeper
    • shard + replica
    • keeper

    Если указаны параметры shard и replica, машина является частью кластера и принимает участие в накоплении и поиске нормализованных событий KUMA. Если дополнительно указан параметр keeper, машина также принимает участие в координации репликации данных на уровне всего кластера.

    Если указан только параметр keeper, машина не будет накапливать нормализованные события, но будет участвовать в координации репликации данных на уровне всего кластера. Значения параметра keeper должны быть уникальными.

    Если в рамках одного шарда определено несколько реплик, значение параметра replica должно быть уникальным в рамках этого шарда.

Файл инвентаря создан. С его помощью можно создать кластер ClickHouse.

Рекомендуется не удалять файл инвентаря после установки KUMA:

  • Если этот файл изменить (например, дополнить данными о новом сервере для коллектора), его можно использовать повторно для обновления системы новым компонентом.
  • Этот же файл инвентаря можно использовать для удаления KUMA.
В начало
[Topic 238675]

Установка дополнительного кластера

Установка KUMA производится помощью инструмента Ansible и YML-файла инвентаря.

Чтобы установить дополнительный кластер KUMA:

  1. На подготовленной целевой машине или машине с установленным Ядром KUMA (в зависимости от параметра ansible_connection) войдите в папку с распакованным установщиком.
  2. Запустите установщик, выполнив следующую команду:

    PYTHONPATH="$(pwd)/ansible/site-packages:${PYTHONPATH}" python3 ./ansible/bin/ansible-playbook -i additional-storage-cluster.inventory.yml additional-storage-cluster.playbook.yml

Дополнительный кластер ClickHouse установлен. Для записи данных в кластер с помощью KUMA необходимо создать хранилище.

В начало
[Topic 238677]

Удаление кластера

Чтобы удалить кластер ClickHouse,

выполните следующую команду:

systemctl stop kuma-storage-<идентификатор хранилища> && systemctl stop kuma-clickhouse && systemctl disable kuma-storage-<идентификатор хранилища> && systemctl disable kuma-clickhouse && rm -rf /usr/lib/systemd/system/kuma-storage-<идентификатор хранилища>.service && rm -rf /usr/lib/systemd/system/kuma-clickhouse.service && systemctl daemon-reload && rm -rf /opt/kaspersky/kuma

Сервисы хранилища KUMA и кластера ClickHouse будут остановлены и удалены.

В начало
[Topic 239283]