...
| Блок кода |
|---|
docker compose version |
Scroll Pagebreak
При установке на операционные системы Astra Linux, RedOS или Альт Сервер команда проверки версии установленного docker-compose имеет вид:
| Блок кода |
|---|
docker-compose version |
Offline-установка
Установка ЕССМ в систему без доступа к сети Интернет подробно описана в разделе "Offline-установка ECCM".
...
| Блок кода |
|---|
cd eccm/2.7 wget "https://cloud.eltex-co.ru/index.php/s/n4RRd4rgx9pgxUO/download?path=%2F&files=peeper-client.tar" -O peeper-client.tar tar -xvf peeper-client.tar -C peeper |
| Подсказка |
|---|
Для интеграции с Peeper в многохостовой инсталляции и отказоустойчивой системе распакуйте архив на каждом узле системы. |
| Информация |
|---|
Перед настройкой и запуском ECCM в интеграции с peeper-client у вас уже должен быть настроен peeper-server, способ получения которого указан в документации Peeper. |
...
| Блок кода |
|---|
POSTGRES_EXPORTER_ENABLED=true # Включение снятия метрик с базы данных PostgreSQL POSTGRES_HOST="100.110.2.2" # Адрес базы данных PostgreSQL для подключения и снятия метрик POSTGRES_PORT="5432" # Порт базы данных PostgreSQL для подключения и снятия метрик POSTGRES_DB="" # Название базы данных PostgreSQL для мониторинга POSTGRES_USER="tester" # Пользователь базы данных PostgreSQL для подключения и снятия метрик POSTGRES_PASSWORD="tester" # Пароль для пользователя $POSTGRES_USER, который нужен для снятия метрик |
Для запуска проекта ECCM в интеграции с Peeper добавьте ключ --peeper к стандартной команде запуска:
| Блок кода |
|---|
sudo ./compose-tools.sh --start 100.110.2.2 --peeper |
Запуск ЕССМ с базой данных на отдельном сервере
...
| Подсказка |
|---|
При запуске ЕССМ в отказоустойчивой системе по стандартной схеме на каждом хосте заполните файлы При запуске ЕССМ в отказоустойчивой системе с базой данных на отдельном хосте заполните файлы |
Для запуска проекта ECCM в интеграции с Peeper добавьте ключ --peeper к стандартной команде запуска:
| Блок кода |
|---|
sudo ./compose-tools.sh --start 100.110.2.2 --peeper |
Запуск ЕССМ с базой данных на отдельном сервере
draw.io Diagram border true viewerToolbar true fitWindow false diagramDisplayName lbox true revision 1 diagramName Структурная схема_в3 simpleViewer false width 600 links auto tbstyle top diagramWidth 823
ECCM Application Server — сервер, на котором развернуто приложение, обеспечивающее работу системы и взаимодействие с устройствами, а также веб-интерфейс пользователя.
DataBase Server — сервер с
...
ECCM Application Server — сервер, на котором развернуто приложение, обеспечивающее работу системы и взаимодействие с устройствами, а также веб-интерфейс пользователя.
Database Server — сервер с базами данных PostgreSQL 14. Возможно использование уже существующего в инфраструктуре кластера.
Device Management Network — IP-сеть управления оборудованием, через которые которую ECCM имеет доступ по L3.
Operator/Administrator — оператор системы, занимающийся мониторингом и настройкой подконтрольного оборудования/системный администратор компании или сотрудники техподдержки Eltex , (если есть договоренность об удаленном доступе).
Для случая, когда необходимо запустить ЕССМ на нескольких серверах (один сервер — для базы данных PostgreSQL, второй сервер — для остального стека сервисов ЕССМ), возможно использовать опцию многохостовой установки. Для этого:
...
2.2. Запустите базу данных PostgreSQL на сервере с БД. Для запуска БД перейдите в директорию eccm/postgres и выполните команду для запуска контейнераБД выполните команду используйте следующую команду:
| Блок кода |
|---|
cd eccm/postgres docker compose --env-file=../eccm/.env up -dsudo ./compose-tools.sh --start <DB ADDRESS> --database-only |
3. Настройте сервер с приложениями:
...
Файл содержит параметры, влияющие на производительность базы данных. Настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств. Для изменения конфигурации ECCM ознакомьтесь с полным Руководством пользователя или обратитесь в Службу технической поддержки Eltex.
Якорь Eccm_env Eccm_env
eccm/.env
| Eccm_env | |
| Eccm_env |
В файле eccm/.env находятся переменные, определяющие поведение проекта и стека БД PostgreSQL при его запуске в контейнере. В таблице ниже представлено описание данных переменных:
| Переменная | Значение по умолчанию | Описание | ||
|---|---|---|---|---|
COMPOSE_PROJECT_NAME | eccm | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов) | ||
ECCM_PROFILE | production | Профиль проекта | ||
ECCM_TAG | 2.7 | Версия образов контейнеров | ||
ECCM_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес | ||
ECCM_NETWORK_MODE | standalone | Режим работы ЕССМ. Доступные значения: cluster, standalone
| ||
ECCM_BACKBONE_ADDRESS | 192.168.0.1 | Внутренний адрес, на котором будет работать система ECCM с устройствами в сети | ||
ECCM_WEB_ADDRESS | 192.168.0.1 | Адрес, на котором будет работать веб-интерфейс системы ECCM | ||
ECCM_WEB_PORT | 80 | Порт для доступа к веб-интерфейсу | ||
ECCM_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk") | ||
ECCM_LOGLEVEL | INFO | Уровень логирования в проекте | ||
MAX_CONCURRENT_SSH_TASKS | 20 | Количество одновременно выполняемых операций с устройствами | ||
eccm | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов) | |||
ECCM_PROFILE | production | Профиль проекта | ||
ECCM_TAG | 2.7 | Версия образов контейнеров | ||
ECCM_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес | ||
ECCM_NETWORK_MODE | standalone | Режим работы ЕССМ. Доступные значения: cluster, standalone
| ||
ECCM_BACKBONE_ADDRESSPOSTGRES_HOST | 192.168.0.1 | Адрес, на котором работает БД PostgreSQL | ||
POSTGRES_PORT | 5432 | Порт для доступа к БД PostgreSQL | ||
ROOT_POSTGRES_DB | postgres | Параметр, позволяющий переопределить базу данных для ее конфигурирования | ROOT_POSTGRES_USER | Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных |
| Внутренний адрес, на котором будет работать система ECCM с устройствами в сети | ||||
ECCM_WEB_ADDRESS | 192.168.0.1 | Адрес, на котором будет работать веб-интерфейс системы ECCM | ||
ECCM_WEB_PORT | 80 | Порт для доступа к веб-интерфейсу | ||
ECCM_ | ROOT_POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данных | ||
ECCM_POSTGRES_DB | eccm | Название базы данных для сервисов ECCM | ||
ECCM_POSTGRES_USER | Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных ECCM_POSTGRES_DB | POSTGRES_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk") |
POSTGRES_SHM_SIZE | 2gb | Ограничение выделенной оперативной памяти для работы с БД PostgreSQL | ||
POSTGRES_PRIVILEGED_MODE | false | Запуск контейнера в привилегированном режиме | ||
POSTGRES_CONFIGURATOR_TAG | 0.5 | Версия образа контейнера postgres-configurator | ||
ENABLE_POSTGRES_CONFIGURATOR | true | Активация запуска контейнера postgres-configurator при старте системы | ECCM_POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль по умолчанию для доступа к базе данных ECCM_POSTGRES_DB |
| 10m | Интервал отображения push-уведомлений в веб-интерфейсе при ошибке получения лицензии | ||
| 60m | Интервал рассылки уведомлений telegram/email при ошибке получения лицензии | ||
| 1 | Номер текущей ноды. Должен быть уникальным в схеме резервирования | ||
| 1G | Ограничение физической памяти для docker-контейнера | ||
| | Путь к файлу с сертификатом для HTTPS | ||
| | Путь к файлу с ключом для HTTPS | ||
KEY_PASS_PATH | ./cert/key.pass | Путь к файлу с паролем ключа для HTTPS | ||
| | Порт, на котором ECCM будет доступен по HTTPS | LOGGING_ASPECT_ENABLED | false |
| Примечание |
|---|
| Не рекомендуется включать этот параметр при штатной работе системы |
| Информация |
|---|
Переменные настройки логирования (LOGGING_*) применяются ко всем контейнерам стека eccm |
LOGGING_MAX_FILES
5
Максимальное количество лог-файлов контейнера
LOGGING_MAX_FILE_SIZE
50MLOGGING_COMPRESS
trueAUTH_ECCM_AUTHENTICATION_ENABLEDfalse...
ECCM_LOGLEVEL | INFO | Уровень логирования в проекте | ||||
MAX_CONCURRENT_SSH_TASKS | 20 | Количество одновременно выполняемых операций с устройствами | ||||
POSTGRES_HOST | 192.168.0.1 | Адрес, на котором работает БД PostgreSQL | ||||
POSTGRES_PORT | 5432 | Порт для доступа к БД PostgreSQL | ||||
ROOT_POSTGRES_DB | postgres | Параметр, позволяющий переопределить базу данных для ее конфигурирования | ||||
ROOT_POSTGRES_USER | Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных | |||||
ROOT_POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данных | |||||
ECCM_POSTGRES_DB | eccm | Название базы данных для сервисов ECCM | ||||
ECCM_POSTGRES_USER | Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных ECCM_POSTGRES_DB | |||||
POSTGRES_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk") | ||||
POSTGRES_SHM_SIZE | 2gb | Ограничение выделенной оперативной памяти для работы с БД PostgreSQL | ||||
POSTGRES_PRIVILEGED_MODE | false | Запуск контейнера в привилегированном режиме | ||||
POSTGRES_CONFIGURATOR_TAG | 0.5 | Версия образа контейнера postgres-configurator | ||||
ENABLE_POSTGRES_CONFIGURATOR | true | Активация запуска контейнера postgres-configurator при старте системы | ||||
ECCM_POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль по умолчанию для доступа к базе данных ECCM_POSTGRES_DB | |||||
| 10m | Интервал отображения push-уведомлений в веб-интерфейсе при ошибке получения лицензии | ||||
| 60m | Интервал рассылки уведомлений telegram/email при ошибке получения лицензии | ||||
| 1 | Номер текущей ноды. Должен быть уникальным в схеме резервирования | ||||
| 1G | Ограничение физической памяти для docker-контейнера | ||||
| | Путь к файлу с сертификатом для HTTPS | ||||
| | Путь к файлу с ключом для HTTPS | ||||
KEY_PASS_PATH | ./cert/key.pass | Путь к файлу с паролем ключа для HTTPS | ||||
| | Порт, на котором ECCM будет доступен по HTTPS | ||||
LOGGING_ASPECT_ENABLED | false | Включение логирования через аспекты сервисов. Аспект логирует все входы и выходы из методов, их параметры, а также возвращаемые значения
| ||||
|
| Максимальное количество лог-файлов контейнера | ||||
| 50M | Максимальный размер лог-файлов контейнера | ||||
| true | Разрешить сжатие лог-файлов контейнера | ||||
AUTH_ECCM_AUTHENTICATION_ENABLED | false | Включение аутентификации с помощью локальных учетных записей |
Якорь Cluster Cluster
.env.cluster
| Cluster | |
| Cluster |
В файле .env.cluster находятся переменные, определяющие поведение кластера при запуске ЕССМ в отказоустойчивой системе. В таблице ниже представлено описание данных переменных:
| Переменная | Значение по умолчанию | Описание | ||
|---|---|---|---|---|
ECCM_NETWORK_MODE | cluster | Режим работы ЕССМ. Доступные значения: cluster, standalone
| ||
| Роль внешней базы данных при развертывании кластера. Автоматически заполняется при запуске ЕССМ в отказоустойчивой системе с разделением приложения и БД | |||
| IP-адрес master-ноды ECCM. Адрес также используется для PostgreSQL при запуске отказоустойчивой системы по стандартной схеме | |||
| IP-адрес slave-ноды ECCM. Адрес также используется для PostgreSQL при запуске отказоустойчивой системы по стандартной схеме | |||
| IP-адрес witness-ноды ECCM. Адрес также используется для PostgreSQL при запуске отказоустойчивой системы по стандартной схеме | |||
| IP-адрес master-базы данных. Адрес используется только при запуске отказоустойчивой системы с базой данных на отдельном сервере | |||
| IP-адрес slave-базы данных. Адрес используется только при запуске отказоустойчивой системы с базой данных на отдельном сервере | |||
| IP-адрес witness-базы данных. К заполнению не обязателен | |||
| IP-адрес подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД | |||
| 5432 | Порт подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД | ||
| Пароль, используемый сервисом RabbitMQ для подключения к кластеру и синхронизации действий между узлами | |||
| Пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов | |||
| redis-master | Уникальное имя, присваиваемое кластеру баз данных для их мониторинга | ||
| 2 | Количество нод, используемых в репликации | ||
| 5000 | Время в миллисекундах, по истечении которого служба мониторинга считает ноду недоступной | ||
| 10000 | Максимальное время в миллисекундах, в течение которого система мониторинга пытается завершить процесс автоматического переключения мастерства между нодами | ||
| repmgr | Имя пользователя, созданного для управления работой и связью между серверами баз данных в кластере | ||
| repmgr | Пароль, обеспечивающий безопасный доступ к служебной базе данных для пользователя REPMGR_USER | ||
| 5 | Время в секундах, в течение которого система будет ожидать ответа при подключении к базе данных PostgreSQL | ||
| 2 | Интервал в секундах, с которым система проверяет состояние и доступность всех серверов в кластере | ||
| 3 | Количество повторных попыток для установления соединения с другим сервером в случае сбоя. Каждая попытка выполняется в течение REPMGR_RECONNECT_INTERVAL | ||
| 3 | Время в секундах между повторными попытками соединения с сервером после неудачи |
...
В файле .env.cluster находятся переменные, определяющие поведение кластера при запуске ЕССМ в отказоустойчивой системе. В таблице ниже представлено описание данных переменных:
| Переменная | Значение по умолчанию | Описание | ||
|---|---|---|---|---|
ECCM_NETWORK_MODE | cluster | Режим работы ЕССМ. Доступные значения: cluster, standalone
| ||
| false | Использование перезапуска кластера с принудительным назначением ролей БД. Используется в случаях разрушения кластера |
| Роль внешней базы данных при развертывании кластера. Используется только при запуске ЕССМ в отказоустойчивой системе с разделением приложения и БД |
| IP-адрес внешней базы данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL |
| 5432 | Порт подключения к внешней базе данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL |
| IP-адрес подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД |
| 5432 | Порт подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД | ||
| repmgr | Наименование служебной базы данных, которая используется для отслеживания состояния баз данных в кластере | ||
| repmgr | Имя пользователя, созданного для управления работой и связью между серверами баз данных в кластере | ||
| repmgr | Пароль, обеспечивающий безопасный доступ к служебной базе данных для пользователя REPMGR_USER | ||
| 5 | Время в секундах, в течение которого система будет ожидать ответа при подключении к базе данных PostgreSQL | ||
| 2 | Интервал в секундах, с которым система проверяет состояние и доступность всех серверов в кластере | ||
| 3 | Количество повторных попыток для установления соединения с другим сервером в случае сбоя. Каждая попытка выполняется в течение REPMGR_RECONNECT_INTERVAL | ||
| 3 | Время в секундах между повторными попытками соединения с сервером после неудачи |
| Разрешенные хосты для подключения в кластер. Указываются все IP-адреса нод, составляющих кластер: master, slave и witness |
| IP-адрес master-ноды |
| master | Наименование master-ноды внутри базы данных ECCM | ||
| 1 | Уникальный идентификатор master-ноды |
| IP-адрес slave-ноды |
| slave | Наименование slave-ноды внутри базы данных ECCM | ||
| 2 | Уникальный идентификатор slave-ноды |
| IP-адрес witness-ноды |
| witness | Наименование witness-ноды внутри базы данных ECCM | ||
| 100 | Уникальный идентификатор witness-ноды |
| Внутренний адрес сервера, используемый Redis Sentinel для связи внутри кластера. Если переменная не задана, значение будет определено автоматически при запуске |
| redis-master | Уникальное имя, присваиваемое кластеру баз данных для их мониторинга |
| Пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов |
| 1 | Количество нод, используемых в репликации. Учитывается только количество slave-нод | ||
| 5000 | Время в миллисекундах, по истечении которого служба мониторинга считает ноду недоступной | ||
| 10000 | Максимальное время в миллисекундах, в течение которого система мониторинга пытается завершить процесс автоматического переключения мастерства между нодами | ||
| 0.0.0.0 | Сетевые адреса, на которых сервер ожидает входящие подключения для репликации
| ||
| eccm | Имя основной базы данных ЕССМ. Дублируется имя базы данных из postgres/.env | ||
| 5 | Время в секундах между последовательными попытками проверки готовности базы данных принимать подключения | ||
| cluster | Common name сертификата. Должен совпадать с Common name сертификата в блоке [ dn ] | ||
| cluster.crt | Наименование сертификата кластера | ||
| ca.crt | Наименование корневого сертификата. Необходим для авторизации кластерного сертификата в Redis/Sentinel и Postgresql | ||
| cluster.key | Наименование ключа сертификата кластера | ||
| changeit | Пароль truststore.p12 при генерации средствами ECCM | ||
| truststore.p12 | Наименование truststore.p12 при загрузке кастомного пользовательского truststore.p12 | ||
| keystore.p12 | Наименование keystore.p12 при загрузке пользовательского keystore.p12 | ||
| eccm-ca | Имя, под которым Java будет хранить и идентифицировать сертификат внутри truststore.p12 | ||
| false | Использование перезапуска кластера с принудительным назначением ролей БД. Используется в случаях разрушения кластера или обновления |
Доступ к веб-интерфейсу
Для подключения к веб-интерфейсу ECCM откройте браузер и в адресной строке введите следующее:
...
| Опция | Описание | ||
|---|---|---|---|
| --clean, -c | Очистка всех контейнеров, томов и сетей | ||
| --delete-containers | Удаление контейнеров без удаления томов и сетей | ||
| --dhcp | Активация DHCP-сервера с поддержкой функциональности Zero Touch Provisioning (ZTP), автоматически добавляющей устройства в систему | ||
| --database-only | Запуск только сервиса базы данных PostgreSQL. Сервисы ECCM на хосте не будут запущены | ||
| --database-host <HOST> | IP-адрес подключения к внешней базе данных PostgreSQL, установленной на другом хосте. Для отказоустойчивой системы с разделением на приложение и БД указывается IP-адрес master-БД. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL. | ||
| --database-port <PORT> | Порт подключения к внешней базе данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL | ||
| --backup-database-host <HOST> | IP-адрес slave-базы данных PostgreSQL, установленной на другом хосте. Используется при запуске отказоустойчивой системы с разделением на приложение и БД | ||
| --backup-database-port <PORT> | Порт подключения к slave-базе данных PostgreSQL, установленной на другом хосте | ||
| --help, -h | Вызов справочной информации | ||
| --https | Активация режима поддержки https. Требует наличия сертификата | ||
| --install | Установка Docker и Docker-compose на хост | ||
| --interactive, -i | Запуск системы в интерактивном режиме. Использовать с ключом --start | ||
| --load | Загрузить все доступные архивы .tar.gz из директории с образами в docker | ||
| --logging, -l <LEVEL> | Задание уровня логирования для проекта ЕССМ. Доступные значения: DEBUG, INFO | ||
| --logging-aspect | Включение логирования через аспекты сервисов. Аспект логирует все входы и выходы из методов, их параметры, а также возвращаемые значения. Не рекомендуется включать этот параметр при штатной работе системы | ||
| --peeper | Запуск системы в интеграции с мониторинговым сервисом Peeper | ||
| --pull, -p | Скачивание/обновление образов перед запуском системы | ||
| --rootlog <LEVEL> | Задание уровня логирования для всех проектов. Доступные значения: DEBUG, INFO | ||
| --save | Сохранение всех docker-образов в архивы .tar.gz | ||
| --start, -s <ADDRESS> | Запуск системы с IP-адресом, по которому будет выполняться подключение к серверу | ||
| --stop | Остановка системы | ||
| --storage <ADDRESS> | Адрес ECCM в сети управления устройствами (backbone). Используется для хранения прошивок устройств | ||
| --tracing, -t <ADDRESS> | Активация сервиса трассировок Jaeger OpenTracing. Необходимо указать IP-адрес Jaeger-сервера | ||
| --show-containers | Показать все контейнеры на сервере | ||
| --show-images | Показать все образы на сервере | ||
| --recreate-service <SERVICE> | Пересоздать контейнер с новыми параметрами
| ||
| --cluster <NODE_ROLE> | Запуск системы в режиме кластера с определенной ролью. Доступные значения: MASTER, SLAVE, WITNESS |
...