Пакет установки
В данном разделе приведено описание дистрибутива и установщика 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
Если файл не имеет прав на выполнение, установите их с помощью команды
|
Результат
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
, необходимо предварительно создать каталог производителя и назначить его владельцем пользователя, от имени которого будет выполняться установка.
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)
Порядок работы установщика
Процесс работы установщика состоит из следующих этапов:
-
Подготовка (общий этап для всех продуктов R-Vision, работающих на платформе Kubernetes):
-
Проверка соответствия программным и аппаратным требованиям для работы установщика.
-
Проверка целостности файла установщика.
-
Обнаружение и проверка целостности загружаемых пакетов.
-
Выбор режима работы установщика:
-
Новая установка в существующий кластер Kubernetes.
-
Обновление предыдущей версии.
-
Удаление установленного экземпляра R-Vision SIEM.
-
Распаковка имеющихся архивов.
-
Скачивание недостающих пакетов.
-
-
-
Действия, специфичные для выбранного режима работы установщика.
При выборе установки, обновления или удаления выполняется распаковка пакетов в каталог продукта или их удаление из каталога, а управление передается скрипту установщика R-Vision SIEM.