Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

A Shared Block
hiddentrue


Metadata list
hiddentrue
|| DeviceType | ELTEX Cloud Configuration Manager |
|| DeviceName | ECCM |
|| DocTitleAdditional | Installation manual |
|| fwversion | 2.2 |
|| username | eccm |
|| password | eccm |


Оглавление
printablefalse

Требования к серверу

Системные требования описаны в разделе "Требования к оборудованию и персоналу".

Получение привилегий sudo без дополнительного ввода пароля (опционально)

От имени непривилегированного пользователя выполните команду:

Блок кода
echo "$(whoami)    ALL=(ALL) NOPASSWD: ALL" | sudo EDITOR='tee -a' visudo

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

...

Server requirements

For stable operation, the server must meet the following requirements:

  • Linux operating system with Docker support: Ubuntu Server 20.04 (recommended) and newer, Astra Linux 1.7 (server), RedOS 7.3.1, Alt Server 10;

  • 16 GB of RAM or more;

  • CPU with virtualization support with at least 4 cores;
  • free hard disk space from 200GB;
  • 1Gbit/s network interface availability.

Obtaining sudo privileges without additional password input (optional)

As an unprivileged user, run the command:

Блок кода
echo "$(whoami)    ALL=(ALL) NOPASSWD: ALL" | sudo EDITOR='tee -a' visudo

Next, enter the password. After that, additional password entry is not required for executing sudo commands or switching to the superuser mode.

Якорь
Install_ECCM
Install_ECCM
ECCM installation

Installation archive

The files needed to run the project are distributed as a tar archive. They can be obtained from the public cloud. Download the archive to the server and unpack it. It is recommended to unpack the archive into the pre-created separate directory.

Commands example:

Блок кода
wget "https://cloud.eltex-co.ru/index.php/s/P8xDfmyo3XyEs0g/download?path=%2F&files=eccm-2.2.tar.gz" -O eccm-2.2.tar.gz
mkdir eccm
tar -zxvf eccm-2.2.tar.gz -C eccm/

Docker and docker-compose installation

The easiest and fastest way to install is to switch to the directory where the installation archive was unpacked and use the compose-tools.sh script using the --install flag:

Блок кода
cd eccm/2.2
sudo ./compose-tools.sh --install

To check the installed docker, the following commands can be run:

Блок кода
docker --version

To check the installed docker-compose in Ubuntu, the following commands can be run:

Блок кода
docker compose version

Scroll Pagebreak

When installing on Astra Linux, RedOS or Alt Server operating systems, the command to check the version of the installed docker-compose is:

Блок кода
docker-compose version

ECCM start

The ECCM project is distributed as a set of files that allows to run all necessary services using docker-compose. The project is divided into two docker-stacks:

  • database (PostgreSQL 14.10);
  • ECCM service stack. 

This separation is caused by the need to ensure horizontal scaling of the project and the possibility of integration with other projects of the company, such as Eltex.EDM.

ECCM start script

Due to the abundance of the system startup parameters, a script was prepared that runs the project on one or more hosts with performance parameters that allow servicing about 100 devices. Actual performance depends on many factors, including hardware performance and the complexity of the network devices being serviced. To invoke the help information, navigate to the directory with the script and run the following command:

Блок кода
sudo ./compose-tools.sh -h

Running ECCM on a single host

To start the project, switch to the directory with the files of the installation archive and run the following command

...

Установочный архив

Файлы, необходимые для запуска проекта, распространяются в виде tar-архива. Их можно получить с общедоступного облака. Загрузите архив на сервер и распакуйте его. Рекомендуется распаковывать архив в заранее созданную отдельную директорию.

Пример команд:

Блок кода
wget "https://cloud.eltex-co.ru/index.php/s/P8xDfmyo3XyEs0g/download?path=%2F&files=eccm-2.2.tar.gz" -O eccm-2.2.tar.gz
mkdir eccm
tar -zxvf eccm-2.2.tar.gz -C eccm/

Установка docker и docker-compose 

Наиболее простой и быстрый способ установки — перейти в директорию, в которую был распакован установочный архив, и воспользоваться скриптом compose-tools.sh, используя флаг --install:

Блок кода
cd eccm/2.2
sudo ./compose-tools.sh --install

Для проверки установленного docker можно выполнить команду:

Блок кода
docker --version

Для проверки установленного docker-compose в Ubuntu можно выполнить команды:

Блок кода
docker compose version

Scroll Pagebreak

При установке на операционные системы Astra Linux, RedOS или Альт Сервер команда проверки версии установленного docker-compose имеет вид:

Блок кода
docker-compose version

Offline-установка

Установка ЕССМ в систему без доступа к сети Интернет подробно описана в разделе "Offline-установка ECCM".

Запуск ECCM

Проект ECCM распространяется в виде набора файлов, позволяющих запустить все необходимые сервисы с помощью docker-compose. Проект разделен на два docker-стека:

  • база данных (PostgreSQL 14.10);
  • стек сервисов ECCM. 

Такое разделение обусловлено необходимостью обеспечения горизонтального масштабирования проекта и возможности интеграции с другими проектами компании, например EDM.

Подробнее в разделе "Векторы сетевого взаимодействия".

Скрипт для запуска ECCM

Ввиду большого количества параметров запуска системы, был подготовлен скрипт, выполняющий запуск проекта на одном или нескольких хостах с параметрами производительности, позволяющими обслуживать около 100 устройств. Фактическая производительность зависит от многих факторов, включающих производительность аппаратной части и сложность обслуживаемых сетевых устройств. Для вызова справочной информации перейдите в каталог со скриптом и введите команду:

Блок кода
sudo ./compose-tools.sh -h

Список всех используемых ключей и их описание можно найти в разделе "Используемые опции compose-tools.sh".

Запуск ECCM на одном хосте

Для запуска проекта перейдите в директорию с файлами установочного архива и выполните команду:

Блок кода
sudo ./compose-tools.sh --start <ECCM ADDRESS>

, где where **ECCM ADDRESS**  это IP-адрес, по которому будет выполняться подключение к серверу. Например, если адрес сервера is the IP address that is used for connection to the server. For example, if the server address is 100.110.2.2, команда будет выглядеть the command will look as follows:

Блок кода
sudo ./compose-tools.sh --start 100.110.2.2


Примечание

Скрипт применяет указанный в ECCM ADDRESS адрес к запускаемым контейнерам, но при этом не перезаписывает его в файлах с переменными. Чтобы при запуске использовать адрес, указанный в файлах с переменными, пропишите ключ --start без указания адреса ECCM ADDRESS.

The script applies the address specified in the ECCM ADDRESS to the launched containers, but does not overwrite it in the variable files. To use the address specified in the variable files at launch, write the --start switch without specifying the ECCM ADDRESS.


To stop the project, run the commandДля остановки проекта выполните команду:

Блок кода
sudo ./compose-tools.sh --stop

...

Running ECCM with a database on a separate server

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramNameСтруктурная схема_в2
simpleViewerfalse
width400
diagramWidth772
revision1

  • ECCM Application Server  —

...

  • server on which an application is deployed that ensures the operation of the system and interaction with devices, as well as a web user interface;
  • Database Server  — server with Postgres14 databases. It is possible to use one that already exists in the cluster infrastructure.
  • Device Management Network  — IP

...

  • network for managing equipment, through which ECCM has access via L3.
  • Operator/Administrator  —

...

  • system operator engaged in monitoring and configuration of the controlled equipment/system administrator of the company or ELTEX technical support specialist, if remote access has been agreed upon.

If it is necessary to run ЕССM on multiple servers (one server for the Postgres database, the second server for the rest of the ЕССM service stack), it is possible to use the multi-host installation option. To do this it is neccessary to:

  1. Install Docker and Docker Compose on both servers.
  2. Configure the server with databases:

2.1. To change login/password/temporary zone/RAM limits for working with the database, edit the postgres/.env file. To change parameters that affect database performance, edit the

Для случая, когда необходимо запустить ЕССМ на нескольких серверах (один сервер — для базы данных Postgres, второй сервер — для остального стека сервисов ЕССМ), возможно использовать опцию многохостовой установки. Для этого:

1. Установите docker и docker-compose на обоих серверах согласно разделу "Установка ЕССМ";

2. Настройте сервер с базами данных:

2.1. Для переопределения логина/пароля/временной зоны/ограничения ОЗУ для работы с БД отредактируйте файл postgres/.env. Для изменения параметров, влияющих на производительность базы данных, отредактируйте файл  postgres/data/postgresql.conf  (настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств);

Scroll Pagebreak
file (the default settings are sufficient for a test run and support for about 100 devices).

2.2. Запустите базу данных PostgreSQL на сервере с БД. Для запуска БД перейдите в директорию eccm/postgres и выполните команду для запуска контейнераRun the PostgreSQL database on the server with the database. To run the database, switch to the eccm/postgres directory and execute the command to run the container:

Блок кода
cd eccm/postgers
docker compose up -d

      3. Настройте сервер с приложениями Configure the server with applications:

3.1. Для переопределения переменных, отвечающих за авторизацию пользователя в системе ECCM и поведение проекта (адрес web-интерфейса, временная зона, адрес БД, логин/пароль для доступа к БД и пр.), отредактируйте файл "eccm/.env";To redefine the variables responsible for user authorization in the ECCM system and project behavior (web interface address, time zone, database address, login/password for database access, etc.), edit the “eccm/.env” file;

3.2. Run ECCM on the server with ECCM using the following command3.2. Выполните запуск ЕССМ на сервере с ЕССМ с помощью следующей команды:

Блок кода
sudo ./compose-tools.sh --start <ECCM ADDRESS> --database-host <DB ADDRESS> --database-port <DB PORT>

, где where <DB ADDRESS> и and <DB PORT> это IP-адрес и порт, по которым будет выполняться подключение к серверу БД. Например, если адрес сервера ЕССМ are the IP address and port to connect to the database server. For example, if the ESSM server address is 100.110.2.2, адрес сервера БД the database server address is 100.110.2.4, порт сервера БД 5432, то команда будет выглядетьand the database server port is 5432, the command is as follows:


Блок кода
sudo ./compose-tools.sh --start 100.110.2.2 --database-host 100.110.2.4 --database-port 5432

Якорь
Vars
Vars

...

Environment variables

The files required to run ECCM, containing environment and configuration variables, are located in the directory where the installation archive was extracted

...

Файлы, необходимые для запуска ECCM и содержащие переменные окружения и конфигурации, находятся в директории, в которую был распакован установочный архив:

Блок кода
postgres/.env
postgres/data/postgresql.conf​
​eccm/.env

Якорь
Postgres
Postgres
postgres/.env

В The postgres/.env содержатся переменные, определяющие поведение стека БД Postgres при его запуске в контейнере. В таблице ниже представлено описание данных переменных: file contains variables that determine the behavior of the Postgres database stack when it is launched in a container. The table below provides a description of these variables:

VaribleDefault valueDescriptionПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEpostgresНазвание проекта в Project name in docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектовused for identification if several projects are running on the server)
POSTGRES_TAG2.2Версия образа контейнера postgresVersion of the postgres container image
POSTGRES_REGISTRYhub.eltex-co.ruАдрес The address of the docker-registry , с которого будет выполняться получение образа postgres. Если используется локальное зеркало, то можно указать его адресfrom which the postgres image will be retrieved. If a local mirror is used, its address can be specified.
ROOT_POSTGRES_USERПараметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных
Parameter that allows to override the superuser login for database access and configuration
ROOT_POSTGRES_PASSWORD
Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данныхParameter that allows to override the superuser password for database access and configuration
ECCM_DATABASEeccmНазвание базы данных стека сервисов eccmName of the eccm service stack database
POSTGRES_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk"The time zone in which the system operates (specified in accordance with the tz database, for example, “Asia/Novosibirsk”)
POSTGRES_SHM_SIZE2gbОграничение выделенной оперативной памяти для работы с БД PostgresLimiting the allocated RAM for working with the Postgres database
POSTGRES_PRIVILEGED_MODEfalseЗапуск контейнера в привилегированном режимеRunning a container in privileged mode

POSTGRES_HOST

192.168.0.1

Внешний адрес БД PostgresExternal address of the Postgres database

LOGGING_MAX_FILES

5

Максимальное количество лог-файлов контейнеров
Maximum number of container log files

LOGGING_MAX_FILE_SIZE

50MМаксимальный размер лог-файлов контейнеровMaximum size of container log files 

LOGGING_COMPRESS

trueРазрешение сжатия лог-файлов контейнеровEnable compression of container log files

POSTGRES_CONFIGURATOR_REGISTRY

hub.eltex-co.ruАдрес The address of the docker-registry , с которого будет выполняться получение образа from which the postgres-configurator . Если используется локальное зеркало, то можно указать его адресimage will be retrieved. If a local mirror is used, its address can be specified

POSTGRES_CONFIGURATOR_TAG

0.5

Версия образа контейнера Version of the postgres-configurator container image

ENABLE_POSTGRES_CONFIGURATOR

trueАктивация запуска контейнера Activation of the postgres-configurator при старте системыcontainer at system launch

Якорь
Postgresdata
Postgresdata
postgres/data/postgresql.conf

Файл содержит параметры, влияющие на производительность базы данных. Настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств. Для изменения конфигурации ECCM ознакомьтесь с полным Руководством пользователя или обратитесь в Службу технической поддержки EltexThe file contains parameters that affect database performance. The default settings are sufficient for a test run and support for approximately 100 devices.

Якорь
Eccm
Eccm
eccm/.env

В файле The eccm/.env находятся переменные, определяющие поведение проекта. В таблице ниже представлено описание данных переменных: file contains variables that determine the behavior of the project. The table below provides a description of these variables:

VaribleDefault valueDescriptionПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEeccmНазвание проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов)
ECCM_PROFILEproductionПрофиль проекта
ECCM_TAG2.2Версия образов контейнеров
ECCM_REGISTRYhub.eltex-co.ruАдрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес
ECCM_BACKBONE_ADDRESS192.168.0.1Внутренний адрес, на котором будет работать система ECCM с устройствами в сети
ECCM_WEB_ADDRESS192.168.0.1Адрес, на котором будет работать web-интерфейс системы ECCM
ECCM_WEB_PORT80Порт для доступа к web-интерфейсу
ECCM_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk")
ECCM_LOGLEVEL'INFO'Уровень логирования в проекте
MAX_CONCURRENT_SSH_TASKS20Количество одновременно выполняемых операций с устройствами
POSTGRES_HOST192.168.0.1Адрес, на котором работает БД Postgres
POSTGRES_PORT5432Порт для доступа к БД Postgres
ROOT_POSTGRES_USER
Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных
ROOT_POSTGRES_PASSWORD
Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данных
ECCM_POSTGRES_DBeccmНазвание базы данных для сервисов eccm
ECCM_POSTGRES_USER
Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных ECCM_POSTGRES_DB
ECCM_POSTGRES_PASSWORD
Параметр, позволяющий переопределить пароль по умолчанию для доступа к базе данных ECCM_POSTGRES_DB

ECCM_DEVICE_MANAGER_ELM_DOWN_WEB_NOTIFICATION_INTERVAL

10mИнтервал отображения push-уведомлений в веб-интерфейсе при ошибке получения лицензии

ECCM_LICENSE_SERVICE_ELM_DOWN_NOTIFICATION_INTERVAL

60mИнтервал рассылки уведомлений telegram/email при ошибке получения лицензии

ECCM_LICENSE_SERVICE_NODE_NUMBER

1Номер текущей ноды. Должен быть уникальным в схеме резервирования

ECCM_MONITORING_SERVICE_XMX

1GОграничение физической памяти для docker-контейнера

CERT_PATH

./cert/server.crt
Путь к файлу с сертификатом для HTTPS

KEY_PATH

./cert/server.key
Путь к файлу с ключом для HTTPS
KEY_PASS_PATH./cert/key.passПуть к файлу с паролем ключа для HTTPS

ECCM_WEB_HTTPS_PORT

443
Порт, на котором ECCM будет доступен по HTTPS
LOGGING_ASPECT_ENABLEDfalse

Включение логирования через аспекты сервисов. Аспект логирует все входы и выходы из методов, их параметры, а также возвращаемые значения

Примечание
Не рекомендуется включать этот параметр при штатной работе системы


Информация
Переменные настройки логирования (LOGGING_*) применяются ко всем контейнерам стека eccm


LOGGING_MAX_FILES

5

Максимальное количество лог-файлов контейнера

LOGGING_MAX_FILE_SIZE

50MМаксимальный размер лог-файлов контейнера

LOGGING_COMPRESS

trueРазрешить сжатие лог-файлов контейнера
AUTH_ECCM_AUTHENTICATION_ENABLEDfalseВключение аутентификации с помощью локальных учетных записей

...