# Пользовательские статьи

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

# Обновление/Установка KUMA версии до 2.0.Х (инсталляция «все в одном»)

<p class="callout danger">НЕ актуальная статья</p>

<iframe height="315" src="https://www.youtube.com/embed/5DksX12RTHo?si=HUUIsqvSfQYVNv3M" style="border:0;" title="YouTube video player" width="560"></iframe>

1. Создайте резервную копию ресурсов и сертификатов, см. советующий раздел в этой инструкции.
2. Распакуйте архив:   
    ```bash
    tar -xvf kuma-ansible-installer-(ВЕРСИЯ).tar.gz
    ```
3. Перейдите в распакованную папку: ```bash
    cd kuma-ansible-installer
    ```
4. Выполните команду копирования шаблона: ```bash
    cp single.inventory.yml.template single.inventory.yml
    ```
5. Для автоподстановки имени хоста в конфигурацию, используйте команду ниже: ```bash
    sed -i "s/kuma.example.com/$(hostname -f)/g" single.inventory.yml
    ```
    
    Либо подставьте ранее использованный файл при обновлении. В случае ручной правки файла старайтесь не добавлять лишних пробелов. Если деморесурсы НЕ нужно разворачивать укажите в файле `single.inventory.yml` в строке (значение false) `deploy_example_services: false`.
6. Добавить файл лицензии в папку `kuma-ansible-installer/roles/kuma/files` и переименовать на `license.key`
7. Входим в ОС из-под суперпользователя (root): ```bash
    sudo -i
    ```
8. Запустить установку: ```
    ./install.sh single.inventory.yml
    ```
9. Должно все завершиться скриншотом ниже, ошибки отсутствуют (failed=0):[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/feLimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/feLimage.png)
10. Зайдите на веб интерфейс ядра KUMA по адресу ядра - `https://<FQDN_CORE or IP_CORE>:7220` Учетные данные для входа по умолчанию: `admin / mustB3Ch@ng3d!`
11. Зайдите на веб интерфейс, проверьте статус Storage. Для этого перейдите во вкладку: Ресурсы - Активные сервисы. Если статус Storage отличается от зеленого (получить актуальный статус можно нажав кнопу обновить), то выполните нижеследующие команды.

После проделанных выше инструкций все демо-сервисы должны быть в статусе зеленый. Корректность работы можно проверить, перейдя во вкладку События и нажав на значок увеличительного стекла (Поиск), должны появиться события, поступающие KUMA или Сообщение «События не найдены». Если при поиске возникает ошибка, то необходимо проверить статусы сервисов в веб интерфейсе KUMA. Провести первичный траблшутинг по этому документу и сообщить ответственному инженеру Лаборатории Касперского в случае неуспеха.

# Обновление/Установка KUMA версии до 2.0.Х (распределенная инсталляция)

<p class="callout danger">НЕ актуальная статья</p>

1. Создайте резервную копию ресурсов и сертификатов, см. советующий раздел в этой книге.
2. Распакуйте архив (операции выполняются на ядре системы KUMA): ```bash
    tar -xvf kuma-ansible-installer-(ВЕРСИЯ).tar.gz
    ```
3. Перейдите в распакованную папку: ```bash
    cd kuma-ansible-installer
    ```
4. Добавить файл лицензии в папку `kuma-ansible-installer/roles/kuma/files` и переименовать на `license.key`: ```bash
    cp ПУТЬ_ДО_КЛЮЧА*.key roles/kuma/files/license.key
    ```
5. Выполните команду копирования шаблона (либо подставьте ранее использованный файл при обновлении): ```bash
    cp distributed.inventory.yml.template distributed.inventory.yml
    ```
6. Добавьте публичный ключ SSH на все удаленные хосты в том числе и для хоста с которого происходит развертывание:  
      
    
    1. На <span class="ui-provider ed blm bln blo blp blq blr bls blt blu blv blw blx bly blz bma bmb bmc bmd bme bmf bmg bmh bmi bmj bmk bml bmm bmn bmo bmp bmq bmr bms bmt" dir="ltr">ВСЕХ </span>хостах в конфигурации сервиса SSH должна быть включена опция удаленного входа от суперпользователя!
    2. На хосте с которого происходит развертывание сгенерируйте ключ командой (без указания пароля и доп. параметров): ```bash
        ssh-keygen -t rsa
        ```
    3. Добавьте ключ по ssh на удаленные хосты и на сам хост развертывания: ```bash
        ssh-copy-id login@remote_host_fqdn
        ```
7. Отредактируйте файл инвентаря с командой: ```bash
    nano distributed.inventory.yml
    ```

В случае ручной правки файла старайтесь не добавлять лишних пробелов.

Количество keeper (ZooKeeper) должно быть нечетным (минимум 3). Если, например, хранилища два, то в файле инвентаря укажите в `storage: hosts: <полное_доменное_имя_машины>`: (этом может быть core, collector) с его IP адресом и значением keeper, по аналогии с другими записями. Например, если используется два хранилища, то конфигурация storage будет выглядеть следующим образом:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/rDpimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/rDpimage.png)

Для развертывания отдельного одного хранилища без кластера используйте следующие настройки в `distributed.inventory.yml`:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/Emlimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/Emlimage.png)

**Демонстрационные сервисы**  
Если Вы хотите, чтобы инсталлятор развернул демонстрационные сервисы, присвойте параметру deploy\_example\_services значение true (Только для новых инсталляций).

**Генерация содержимого файла /etc/hosts**  
Если целевые машины НЕ зарегистрированы в DNS-зоне вашей организации, то присвойте параметру generate\_etc\_hosts значение true и для каждой машины в инвентаре, замените значения параметра ip 0.0.0.0 на актуальные IP-адреса.

**Список целевых машин**  
В файле определены 4 группы, именованные аналогично ключевым компонентам KUMA: core, collector, correlator, storage. Помещая целевую машину в одну из групп, вы инструктируете инсталлятор установить на нее соответствующий компонент KUMA. В каждой группе замените строки с суффиксом \*.example.com на актуальные имена хостов целевых машин.

- Группа core. Может содержать только одну целевую машину.
- Группа collector. Может содержать одну или несколько целевых машин.
- Группа сorrelator. Может содержать одну или несколько целевых машин.
- Группа storage. Может содержать одну или несколько целевых машин. Каждая машина должна иметь одну из следующих комбинаций параметров: 
    - shard + replica + keeper
    - shard + replica
    - keeper

Про устройство кластера хранилища можно почитать **[тут](https://kb.kuma-community.ru/books/kuma-how-to/page/ustroistvo-klastera-xranilishha)**.

Если хранилище одно, то оставьте параметры shard + replica + keeper, как у kuma-storage-1.example.com

Перед началом установки инсталлятор KUMA выполнит валидацию инвентаря и укажет на ошибки, если таковые были допущены.

8\. Входим в ОС из-под суперпользователя (root):

```bash
sudo -i
```

9\. Запустите процесс инсталляции:

```bash
./install.sh distributed.inventory.yml
```

10\. Выполните настройку storage на использование двух хранилищ. В точках назначения нужно добавить URL второго хранилища, (если используются отдельные keeper, то их не нужно указывать в точках назначения) пример ниже:

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/scaled-1680-/I7Pimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2023-08/I7Pimage.png)

Корректность работы можно проверить, перейдя во вкладку События и нажав на значок увеличительного стекла (Поиск), должны появиться события, поступающие KUMA или Сообщение «События не найдены». Если при поиске возникает ошибка, то необходимо проверить статусы сервисов в веб интерфейсе KUMA. Провести первичный траблшутинг по этому документу и сообщить ответственному инженеру Лаборатории Касперского в случае неуспеха.

# Включение IPv6 Oracle\CentOS\RedHat

<p class="callout info">Информация, приведенная на данной странице, является разработкой community KUMA и **НЕ** является официальной рекомендацией вендора.</p>

Для того, чтобы включить IPv6 нам понадобится:

1. Проверить наличие трех полей по части IPv6 с правильным атрибутом (no\\yes), в файле   
    `/etc/sysconfig/network-scripts/ifcfg-`<span style="background-color:rgb(236,240,241);color:rgb(186,55,42);">`ens192` (имя интерфейса может меняться, точный необходимо уточнять командой ip a) </span>как в примере, если их нет - добавляем их (при необходимости правим значения.):  
      
    ```bash
    IPV6INIT=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    ```
2. Проверяем папку `/etc/sysctl.d/*` на наличие файлов, если они есть - ищем в них следующие строки конфигурации. Обычно используются:   
      
    ```bash
    net.ipv6.conf.lo.disable_ipv6 = 1
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1
    ```
    
    Если файлов \**.conf в папке* /etc/sysctl.d/ нет, или отсутствуют строки, касающиеся работы IPv6 - идем в файл /etc/sysctl.conf и ищем в нем данные строки, если нашли - комментируем их (#перед строкой).
3. Вводим команду `sysctl -p`, IPv6 локальный должен появится. Проверяем командой ip -6 addr
4. Если адрес не появился, проверяем файл `/etc/default/grub`  
    в строке GRUB\_CMDLINE\_LINUX добавляем `ipv6.disable=0`   
    Должно получиться: `GRUB_CMDLINE_LINUX="ipv6.disable=0"`, также в этой строке могут быть другие параметры, не стираем их, а добавляем. Запятую ставить не нужно.
5. Запускаем команду `sudo grub2-mkconfig` и `sudo init 6`. Сервер перезагрузится.
6. Проверяем командой` ip -6 addr`  
      
    **<span style="text-decoration:underline;">Особый случай с RedOS 8:</span>**  
      
    Все вышеуказанные рекомендации были применены, но grub не обновлялся.  
    Пришлось править руками файл /boot/grub2/grub.cfg так как оставались записи (выделены желтым)  
    <span style="text-decoration:underline;">После правки файла не забываем выполнить grub2-mkconfig</span>

[![image.png](https://kb.kuma-community.ru/uploads/images/gallery/2025-05/scaled-1680-/bjAimage.png)](https://kb.kuma-community.ru/uploads/images/gallery/2025-05/bjAimage.png)