...
| Блок кода |
|---|
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 к стандартной команде запуска: Для запуска проекта ECCM в интеграции с Peeper добавьте ключ --peeper к стандартной команде запуска:
| Блок кода |
|---|
sudo ./compose-tools.sh --start 100.110.2.2 --peeper |
...
ECCM Application Server — сервер, на котором развернуто приложение, обеспечивающее работу системы и взаимодействие с устройствами, а также веб-интерфейс пользователя.
Database DataBase Server — сервер с базами данных PostgreSQL 14. Возможно использование уже существующего в инфраструктуре кластера.
Device Management Network — IP-сеть управления оборудованием, через которые которую ECCM имеет доступ по L3.
Operator/Administrator — оператор системы, занимающийся мониторингом и настройкой подконтрольного оборудования/системный администратор компании или сотрудники техподдержки Eltex , (если есть договоренность об удаленном доступе).
Для случая, когда необходимо запустить ЕССМ на нескольких серверах (один сервер — для базы данных PostgreSQL, второй сервер — для остального стека сервисов ЕССМ), возможно использовать опцию многохостовой установки. Для этого:
...
2.2. Запустите базу данных PostgreSQL на сервере с БД. Для запуска БД перейдите в директорию eccm/postgres и выполните команду для запуска контейнераБД выполните команду используйте следующую команду:
| Блок кода |
|---|
cdsudo eccm./postgres docker composecompose-tools.sh --env-file=../eccm/.env up -dstart <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 | Количество одновременно выполняемых операций с устройствами | ||||
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 | Включение аутентификации с помощью локальных учетных записей |
...
| Переменная | Значение по умолчанию | Описание | |||
|---|---|---|---|---|---|
ECCM_NETWORK_MODE | cluster | Режим работы ЕССМ. Доступные значения: cluster, standalone
| |||
| Роль внешней базы данных при развертывании кластера. Используется только при запуске Автоматически заполняется при запуске ЕССМ в отказоустойчивой системе с разделением приложения и БД |
| IP-адрес master-ноды | ||
| master | Наименование master-ноды внутри базы данных ECCM | |||
| 1 | Уникальный идентификатор master-ноды | |||
| БД | |||||
| IP-адрес master-ноды ECCM. Адрес также используется для PostgreSQL при запуске отказоустойчивой системы по стандартной схеме | ||||
| IP-адрес slave-ноды |
| slaveНаименование slave-ноды внутри базы данных ECCM | ||
| 2 | Уникальный идентификатор slave-ноды | |||
| ECCM. Адрес также используется для PostgreSQL при запуске отказоустойчивой системы по стандартной схеме | |||||
| IP-адрес witness-ноды | ||||
| witness | Наименование witness-ноды внутри базы данных ECCM | |||
| ECCM. Адрес также используется для PostgreSQL при запуске отказоустойчивой системы по стандартной схеме | |||||
| IP-адрес master-базы данных. Адрес используется только при запуске отказоустойчивой системы с базой данных на отдельном сервере | ||||
| IP-адрес slave-базы данных. Адрес используется только при запуске отказоустойчивой системы с базой данных на отдельном сервере | ||||
| IP-адрес witness-базы данных. К заполнению не обязателен |
| 100 | Уникальный идентификатор witness-ноды | |
| IP-адрес подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД | ||||
| 5432 | Порт подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД | |||
| Пароль, используемый сервисом RabbitMQ для подключения к кластеру и синхронизации действий между узлами |
| redis-master | Уникальное имя, присваиваемое кластеру баз данных для их мониторинга | |
| Пароль, используемый службой мониторинга для подключения к кластеру баз данных и получения информации о состоянии серверов | ||||
| redis-master | Уникальное имя, присваиваемое кластеру баз данных для их мониторинга | |||
| 2 | Количество нод, используемых в репликации | |||
| 5000 | Время в миллисекундах, по истечении которого служба мониторинга считает ноду недоступной | |||
| 10000 | Максимальное время в миллисекундах, в течение которого система мониторинга пытается завершить процесс автоматического переключения мастерства между нодами | |||
| repmgr | Имя пользователя, созданного для управления работой и связью между серверами баз данных в кластере | |||
| repmgr | Пароль, обеспечивающий безопасный доступ к служебной базе данных для пользователя REPMGR_USER | |||
| 5 | Время в секундах, в течение которого система будет ожидать ответа при подключении к базе данных PostgreSQL | |||
| 2 | Интервал в секундах, с которым система проверяет состояние и доступность всех серверов в кластере | |||
| 3 | Количество повторных попыток для установления соединения с другим сервером в случае сбоя. Каждая попытка выполняется в течение REPMGR_RECONNECT_INTERVAL | |||
| 3 | Время в секундах между повторными попытками соединения с сервером после неудачи | |||
| 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 |
...