Пакет установки

В данном разделе приведено описание дистрибутива и установщика R-Vision SIEM.

Описание дистрибутива

Дистрибутив R-Vision SIEM рассчитан на автономную установку в существующий кластер Kubernetes без необходимости доступа к сети Интернет. Дистрибутив представляет собой самораспаковывающийся run-файл (bash-скрипт) с полезной нагрузкой.

Вы можете скачать дополнительный пакет kubespray-installer-redos.tar.gz — автономный установщик Kubernetes (kubespray offline) для РЕД ОС 7.3.

Компоненты установщика

  • Скрипт установки (bash).

  • Скрипт управления экземпляром платформы evoctl.

  • Плейбуки Ansible.

  • Вспомогательные утилиты (исполняемые файлы: helm, jq, yq).

Модули платформы

  • Модуль evo.infra, содержащий следующие компоненты:

    • Инфраструктурные сервисы:

      • мониторинг: kube-prometheus-stack;

      • контроллер: ingress-nginx;

      • провайдеры хранилища: local-path-provisioner и piraeus;

      • логирование: loki и promtail;

      • балансировщик нагрузки: metallb;

      • сервер метрик: metrics-server.

    • Сторонние сервисы:

      • ClickHouse;

      • NATS;

      • Consul;

      • Dkron;

      • MinIO;

      • PostgreSQL.

  • Архивы модулей платформы.

Описание установщика

Установщик R-Vision SIEM — это самораспаковывающийся run-файл (bash-скрипт) с полезной нагрузкой.

Формат имени файла: evo.platform_<version>.run

Для вывода встроенной справки запустите run-файл evo.platform_<version>.run с параметром -h или --help:

./evo.platform_<version>.run --help

Если файл не имеет прав на выполнение, установите их с помощью команды chmod:

sudo chmod +x evo.platform_<version>.run
Результат
Usage: evo.platform_<version>.run [OPTIONS]

Self-extracting installer for R-Vision EVO Platform, version: <version>.

Available main actions:
  - new installation;
  - upgrading existing installation;
  - removing product;
  - downloading additional packages;
  - unpacking packages.

Options:
  -c, --check         only check if system is ready for installation, don't execute actions
  -h, --help          show usage
  -V, --version       show version
  -v, --verbose       verbose output
  -d, --debug         debug mode
  -y, --yes           don't ask user confirmation
  --skip-integrity    skip integrity check before unpacking

Supported variables:
  - ACCEPTED          don't ask user confirmation
  - ACTION_MODE       action from list: install, update, remove, unpack, download, check
  - VERBOSE           verbose output
  - DEBUG             debug mode
  - SETUP_ROOT_DIR    setup root directory, default: /opt
  - SKIP_INTEGRITY    skip integrity check before unpacking

Required resources (for installation process only):
  CPU, cores: 1
  RAM, Gb:    2
  DISK, Gb:   20 (in /opt/r-vision)
  INODES:     5000 (in /opt/r-vision)

Структура каталогов

Установщик содержит как общие разделяемые компоненты, так и специфичные для продукта.

По умолчанию распаковка выполняется в каталог /opt, например /opt/r-vision. Корневой каталог (/opt по умолчанию) можно изменить переменной SETUP_ROOT_DIR.

Таким образом:

  • /opt — корневой каталог установщика;

  • /opt/r-vision — каталог производителя;

  • /opt/r-vision/siem — каталог продукта.

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

Пример 1. Пример создания каталога установки
sudo mkdir -pv /opt/r-vision
sudo chown -R <user>:<group> /opt/r-vision

Здесь:

  • <user> — имя пользователя;

  • <group> — группа, в которую входит пользователь.

Пример возможной структуры каталогов после распаковки
/opt/r-vision/               # каталог производителя
├── common                   # общие компоненты установщика
│   ├── ansible              # роли и плейбуки Ansible
│   ├── bin                  # утилиты
│   │   ├── evoctl
│   │   ├── helm
│   │   ├── jq
│   │   └── yq
│   ├── lib                  # библиотека bash-функций
│   ├── logs                 # логи установщика
│   └── platform.yaml        # манифест дистрибутива
├── core                     # каталог модуля core
│   ├── helm
│   ├── images
│   └── module.yaml
├── infra                    # каталог модуля infra
│   ├── helm
│   ├── images
│   ├── menu.sh
│   ├── module.yaml
│   ├── postinstall.sh
│   └── preinstall.sh
├── siem                     # каталог модуля siem
│   ├── helm
│   ├── images
│   ├── menu.sh
│   ├── module.yaml
│   ├── postinstall.sh
│   └── preinstall.sh
└── space                    # каталог модуля space
    ├── helm
    ├── images
    ├── module.yaml
    ├── postinstall-space.sh
    └── preinstall-space.sh

Логирование

Все действия логируются. При каждом запуске установщика создается новый лог-файл в каталоге logs системы. В лог сохраняется более подробная информация, чем выводится на экран, даже в verbose-режиме. Также в лог сохраняется информация об операционной системе, ресурсах, программном окружении и переменных. Значения переменных с именами, содержащими pass или private, маскируются.

Пример системной информации в логе
System information:
  OS ID:         redos
  OS name:       RED OS MUROM (7.3.4)
  Kernel:        6.1.52-1.el7.3.x86_64
  User:          user
  CPU, cores:    8
  RAM, GB:       16
App directory info:
  Directory:     /opt/r-vision
  Free space:    53G
  Free inodes:   50903398


Suitable tools:
  bash|4.0.0:          5.2.9
  gunzip:              1.9.0
  sed:                 4.5.0
  tar:                 1.30.0
  diff:                3.6.0
  ansible|2.9:         2.12.5
  kubectl:             1.26.3
  python3|3.6.8:       3.8.18
  curl:                7.85.0
  whiptail:            0.52.21
  dialog:              <not installed>

Environment:
------------
HOME=/home/user
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
TERM=xterm-256color
TEST_PASSWORD=<masked>
private_key=<masked>
USER=user
------------

Интерфейс установщика

Для взаимодействия с пользователем используются консольные диалоговые утилиты whiptail или dialog.

Если ни одна из них не установлена, используется режим консоли.

У пользователя интерактивно запрашиваются необходимые параметры установки, выполняется проверка введенных значений.

Также поддерживается неинтерактивный режим установки с получением параметров из переменных окружения, определенных в env-файле.

Встроенная справка установщика
Usage: evo.platform_<version>.run [OPTIONS]

Self-extracting installer for R-Vision EVO Platform, version: 1.0.0.

Available main actions:
  - new installation;
  - upgrading existing installation;
  - removing product;
  - downloading additional packages;
  - unpacking packages.

Options:
  -c, --check         only check if system is ready for installation, don't execute actions
  -h, --help          show usage
  -V, --version       show version
  -v, --verbose       verbose output
  -d, --debug         debug mode
  -y, --yes           don't ask user confirmation
  --skip-integrity    skip integrity check before unpacking

Supported variables:
  - ACCEPTED          don't ask user confirmation
  - ACTION_MODE       action from list: install, update, remove, unpack, download, check
  - VERBOSE           verbose output
  - DEBUG             debug mode
  - SETUP_ROOT_DIR    setup root directory, default: /opt
  - SKIP_INTEGRITY    skip integrity check before unpacking

Required resources (for installation process only):
  CPU, cores: 1
  RAM, Gb:    2
  DISK, Gb:   20 (in /opt/r-vision)
  INODES:     5000 (in /opt/r-vision)

Порядок работы установщика

Процесс работы установщика состоит из следующих этапов:

  1. Подготовка (общий этап для всех продуктов R-Vision, работающих на платформе Kubernetes):

    • Проверка соответствия программным и аппаратным требованиям для работы установщика.

    • Проверка целостности файла установщика.

    • Обнаружение и проверка целостности загружаемых пакетов.

    • Выбор режима работы установщика:

      • Новая установка в существующий кластер Kubernetes.

      • Обновление предыдущей версии.

      • Удаление установленного экземпляра R-Vision SIEM.

      • Распаковка имеющихся архивов.

      • Скачивание недостающих пакетов.

  2. Действия, специфичные для выбранного режима работы установщика.

При выборе установки, обновления или удаления выполняется распаковка пакетов в каталог продукта или их удаление из каталога, а управление передается скрипту установщика R-Vision SIEM.