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

Ключ

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

...

Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

Версия ПО 2.6


A Shared Block
hiddentrue


Metadata list
hiddentrue
|| DeviceType | Сервис мониторинга и управления конфигурациями «ELTEX» |
|| DeviceName | ECCM |
|| DocTitleAdditional | Инструкция по установке и запуску |
|| fwversion | 2.6 |
|| username | eccm |
|| password | eccm |


Оглавление
printablefalse

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

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

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

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

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

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

Якорь
Install_ECCM
Install_ECCM
Установка ECCM

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

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

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

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

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

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

Блок кода
cd eccm/2.6
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>

, где **ECCM ADDRESS**   — это IP-адрес, по которому будет выполняться подключение к серверу. Например, если адрес сервера 100.110.2.2, команда будет выглядеть:

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


Примечание

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


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

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

Запуск ECCM на одном хосте в интеграции с Peeper

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramDisplayName
lboxtrue
revision1
diagramNameСтруктурная схема_в2
simpleViewerfalse
width600
linksauto
tbstyletop
diagramWidth823

Для мониторинга параметров операционной системы и работоспособности приложений ECCM рекомендуется развернуть Peeper

...

Сгенерируйте token в WEB Grafana (https://<адрес Peeper Server>:443). Зайдите в меню "Administration" → "Users and access" → "Service accounts" → "Add service account" → "Add service account token" → "Generate token".

В файле peeper/.env укажите:

  1. IP-адрес или доменное имя для подключения к Peeper-server в переменной PEEPER_HOST 
  2. В переменной PEEPER_EXTERNAL_MODE установите значение true, во избежание конфликтов при создании external сети в Docker.
  3. В переменной PEEPER_TOKEN укажите токен:
    Блок кода
    PEEPER_HOST="peeper.eltex.loc" # Доменное имя или IP-адрес Peeper-сервера
    PEEPER_EXTERNAL_MODE="true" # false, если на сервере отсутствует external network в docker
    PEEPER_TOKEN="" # Токен сервисного аккаунта, который создается в peeper-server

Для сбора информации с базы данных ECCM настройте файл peeper/.env.postgres. Ниже представлен пример настройки файла:

Блок кода
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, который нужен для снятия метрик

...

Запуск ЕССМ с базой данных на отдельном сервере

draw.io Diagram
bordertrue
viewerToolbartrue
fitWindowfalse
diagramDisplayName
lboxtrue
revision1
diagramNameСтруктурная схема_в3
simpleViewerfalse
width600
linksauto
tbstyletop
diagramWidth823

ECCM Application Server  — сервер, на котором развернуто приложение, обеспечивающее работу системы и взаимодействие с устройствами, а также веб-интерфейс пользователя.

Database Server  — сервер с базами данных PostgreSQL 14. Возможно использование уже существующего в инфраструктуре кластера.

Device Management Network  — IP-сеть управления оборудованием, через которые ECCM имеет доступ по L3.

Operator/Administrator  — оператор системы, занимающийся мониторингом и настройкой подконтрольного оборудования/системный администратор компании или сотрудники техподдержки Eltex, если есть договоренность об удаленном доступе.

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

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

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

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

Scroll Pagebreak

2.2. Запустите базу данных PostgreSQL на сервере с БД. Для запуска БД перейдите в директорию eccm/postgres и выполните команду для запуска контейнера:

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

3. Настройте сервер с приложениями:

3.1. Для переопределения переменных, отвечающих за авторизацию пользователя в системе ECCM и поведение проекта (адрес веб-интерфейса, временная зона, адрес БД, логин/пароль для доступа к БД и пр.), отредактируйте файл "eccm/.env";

3.2. Выполните запуск ЕССМ на сервере с ЕССМ с помощью следующей команды:

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

, где <DB ADDRESS> и <DB PORT>это IP-адрес и порт, по которым будет выполняться подключение к серверу БД. Например, если адрес сервера ЕССМ 100.110.2.2, адрес сервера БД 100.110.2.4, порт сервера БД 5432, то команда будет выглядеть:

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

Запуск ЕССМ в отказоустойчивой системе

Начиная с версии 2.6 в ЕССМ появилось резервирование формата Active-Active. Процесс запуска ЕССМ в отказоустойчивой системе с сервером базы данных и с отдельным сервером для базы данных описан в разделе Запуск ЕССМ в отказоустойчивой системе.

Якорь
Vars
Vars
Переменные окружения

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

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

Якорь
Postgres
Postgres
postgres/.env

В postgres/.env содержатся переменные, определяющие поведение стека БД PostgreSQL при его запуске в контейнере. В таблице ниже представлено описание данных переменных:

ПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEpostgresНазвание проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов)
POSTGRES_TAG2.6Версия образа контейнера postgres
POSTGRES_REGISTRYhub.eltex-co.ru

Адрес docker-registry, с которого будет выполняться получение образа postgres. Если используется локальное зеркало, то можно указать его адрес

ROOTECCM_POSTGRESNETWORK_USERMODEstandalone

Режим работы ЕССМ. Доступные значения: cluster, standalone. Если переменная не задана, значение будет установлено в standalone автоматически при запуске  compose-tools.sh без флага "--cluster"

KEEPALIVE_INTERVAL5

Интервал секундах, означающий проверку доступности узла кластера. При истечении времени, если ответа не последовало, keepalived переключится на другую доступную ноду

ROOT_POSTGRES_USER
Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных
Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данныхROOT_POSTGRES_PASSWORD
Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данных
ECCM_DATABASEeccmНазвание базы данных стека сервисов eccm
POSTGRES_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk")
POSTGRES_SHM_SIZE2gbОграничение выделенной оперативной памяти для работы с БД PostgreSQL
POSTGRES_PRIVILEGED_MODEfalseЗапуск контейнера в привилегированном режиме

POSTGRES_HOST

192.168.0.1

Внешний адрес БД PostgreSQL

POSTGRES_PORT

5432

Порт, на котором доступна БД PostgreSQL

LOGGING_MAX_FILES

5

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

LOGGING_MAX_FILE_SIZE

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

LOGGING_COMPRESS

trueРазрешение сжатия лог-файлов контейнеров

POSTGRES_CONFIGURATOR_TAG

0.5

Версия образа контейнера postgres-configurator

ENABLE_POSTGRES_CONFIGURATOR

trueАктивация запуска контейнера postgres-configurator при старте системы

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

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

Якорь
Eccm
Eccm
eccm/.env

В файле eccm/.env находятся переменные, определяющие поведение проекта. В таблице ниже представлено описание данных переменных:

ПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEeccmНазвание проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов)
ECCM_PROFILEproductionПрофиль проекта
ECCM_TAG2.6Версия образов контейнеров
ECCM_REGISTRYhub.eltex-co.ruАдрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес
ECCM_BACKBONE_ADDRESS192.168.0.1Внутренний адрес, на котором будет работать система ECCM с устройствами в сети
ECCM_WEB_ADDRESS192.168.0.1Адрес, на котором будет работать веб-интерфейс системы ECCM
ECCM_WEB_PORT80Порт для доступа к веб-интерфейсу
ECCM_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk")
ECCM_LOGLEVELINFOУровень логирования в проекте
MAX_CONCURRENT_SSH_TASKS20Количество одновременно выполняемых операций с устройствами
POSTGRES_HOST192.168.0.1Адрес, на котором работает БД PostgreSQL
POSTGRES_PORT5432Порт для доступа к БД PostgreSQL
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Включение аутентификации с помощью локальных учетных записей

Якорь
Cluster
Cluster
.env.cluster

В файле .env.cluster находятся переменные, определяющие поведение кластера при запуске ЕССМ в отказоустойчивой системе. В таблице ниже представлено описание данных переменных:

ПеременнаяПеременнаяЗначение по умолчаниюОписание
ECCM_NETWORK_MODEcluster

Режим работы ЕССМ. Доступные значения: cluster, standalone

Информация

Если ключ --cluster не указывается в скрипте запуска, то выбирается режим работы standalone.

RESTART_CLUSTER

falseИспользование перезапуска кластераИспользование перезапуска кластера с принудительным назначением ролей БД. Используется в случаях разрушения кластера или необходимости обновления

REPMGR_DB

repmgrНаименование служебной базы данных, которая используется для отслеживания состояния баз данных в кластере

REPMGR_USER

repmgrИмя пользователя, созданного для управления работой и связью между серверами баз данных в кластере

REPMGR_PASSWORD

repmgrПароль, обеспечивающий безопасный доступ к служебной базе данных для пользователя 
REPMGR_USER

REPMGR_CONNECT_TIMEOUT

5Время в секундах, в течение которого система будет ожидать ответа при подключении к базе данных master-ноды

REPMGR_MONITOR_INTERVAL

2Интервал в секундах, с которым система проверяет состояние и доступность всех серверов в кластере

REPMGR_RECONNECT_ATTEMPT

3Количество повторных попыток для установления соединения с другим сервером в случае сбоя. Каждая попытка выполняется в течение REPMGR_RECONNECT_INTERVAL

REPMGR_RECONNECT_INTERVAL

3Время в секундах между повторными попытками соединения с сервером после неудачи

ALLOWED_HOSTS

Разрешенные хосты для подключения в кластер. Указываются все IP-адреса нод, составляющих кластер: master-нода, slave-ноды и witness-нода

ROLE

MASTERРоль внешней базы данных при развертывании кластера. Используется только при запуске ЕССМ в отказоустойчивой системе с разделением приложения и БД

POSTGRES_HOST


IP-адрес внешней базы данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL

POSTGRES_PORT

5432Порт подключения к внешней базе данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL

BACKUP_POSTGRES_HOST


IP-адрес подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД

BACKUP_POSTGRES_PORT

5432Порт подключения к внешней slave базе данных PostgreSQL, установленной на другом хосте. Использовать при развертывании отказоустойчивой системы с разделением на приложение и БД

REPMGR_DB

repmgrНаименование служебной базы данных, которая используется для отслеживания состояния баз данных в кластере

REPMGR_USER

repmgrИмя пользователя, созданного для управления работой и связью между серверами баз данных в кластере

REPMGR_PASSWORD

repmgrПароль, обеспечивающий безопасный доступ к служебной базе данных для пользователя 
REPMGR_USER

REPMGR_CONNECT_TIMEOUT

5Время в секундах, в течение которого система будет ожидать ответа при подключении к базе данных PostgreSQL

REPMGR_MONITOR_INTERVAL

2Интервал в секундах, с которым система проверяет состояние и доступность всех серверов в кластере

REPMGR_RECONNECT_ATTEMPT

3Количество повторных попыток для установления соединения с другим сервером в случае сбоя. Каждая попытка выполняется в течение REPMGR_RECONNECT_INTERVAL

REPMGR_RECONNECT_INTERVAL

3Время в секундах между повторными попытками соединения с сервером после неудачи

ALLOWED_HOSTS


Разрешенные хосты для подключения в кластер. Указываются все IP-адреса нод, составляющих кластер: master, slave и witness

MASTER_HOST


IP-адрес master-ноды

MASTER_NODE_NAME

masterНаименование master-ноды внутри базы данных ECCM

MASTER_NODE_ID

1Уникальный идентификатор master-ноды

SLAVE_HOST


IP-адрес slave-ноды

SLAVE_NODE_NAME

slaveНаименование slave-ноды внутри базы данных ECCM

SLAVE_NODE_ID

2Уникальный идентификатор slave-ноды

WITNESS_HOST


IP-адрес witness-ноды

WITNESS_NODE_NAME

witnessНаименование witness-ноды внутри базы данных ECCM

WITNESS_NODE_ID

100Уникальный идентификатор witness-ноды

SENTINEL_ANNOUNCE_IP


Внутренний адрес сервера, используемый Redis Sentinel для связи внутри кластера. Если переменная не задана, значение будет определено автоматически при запуске

SENTINEL_MASTER_NAME


Уникальное имя, присваиваемое кластеру баз данных для их мониторинга

SENTINEL_PASSWORD


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

REDIS_REPLICATION_NODE_COUNT

1Количество нод, используемых в репликации. Учитывается только количество slave-нод

SENTINEL_DOWN_AFTER_MS

5000Время в миллисекундах, по истечении которого служба мониторинга считает ноду недоступной

SENTINEL_FAILOVER_TIMEOUT

10000Максимальное время в миллисекундах, в течение которого система мониторинга пытается завершить процесс автоматического переключения мастерства между нодами

REDIS_BIND

0.0.0.0

Сетевые адреса, на которых сервер ожидает входящие подключения для репликации

Информация

Рекомендуется оставлять значение REDIS_BIND по умолчанию, для избежания проблем с сетевыми интерфейсами

ECCM_DATABASE

eccmИмя основной базы данных ЕССМ. Дублируется имя базы данных из postgres/.env

DATABASE_WAIT_INTERVAL_SEC

5Время в секундах между последовательными попытками проверки готовности базы данных принимать подключения

CN

clusterCommon name сертификата. Должен совпадать с Common name сертификата в блоке [ dn ]

CERT_FILE_NAME

cluster.crtНаименование сертификата кластера

ROOT_CA_FILE_NAME

ca.crtНаименование корневого сертификата. Необходим для авторизации кластерного сертификата в Redis/Sentinel и Postgresql

KEY_FILE_NAME

cluster.keyНаименование ключа сертификата кластера

TRUSTSTORE_PASSWORD

changeitПароль truststore.p12 при генерации средствами ECCM

INPUT_TRUSTSTORE_NAME

truststore.p12Наименование truststore.p12 при загрузке кастомного truststore.p12

CA_ALIAS


Имя, под которым Java будет хранить и идентифицировать сертификат внутри truststore.p12

MASTER_HOST

Имя хоста master-ноды. При неуказанном значении переменная автоматически заполнится именем хоста сервера, с которого происходит запуск мастер-ноды

MASTER_NODE_NAME

masterНаименование master-ноды внутри базы данных ECCM

MASTER_NODE_ID

1Уникальный идентификатор master-ноды

SLAVE_HOST

Имя хоста slave-ноды. При неуказанном значении переменная автоматически заполнится именем хоста сервера, с которого происходит запуск slave-ноды

SLAVE_NODE_NAME

slaveНаименование slave-ноды внутри базы данных ECCM

SLAVE_NODE_ID

2Уникальный идентификатор slave-ноды

WITNESS_HOST

Имя хоста witness-ноды. При неуказанном значении переменная автоматически заполнится именем хоста сервера, с которого происходит запуск witness-ноды

WITNESS_NODE_NAME

witnessНаименование witness-ноды внутри базы данных ECCM

WITNESS_NODE_ID

100Уникальный идентификатор witness-ноды

SENTINEL_ANNOUNCE_IP

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

SENTINEL_MASTER_NAME

Уникальное имя, присваиваемое кластеру баз данных для их мониторинга

SENTINEL_PASSWORD

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

REDIS_REPLICATION_NODE_COUNT

1Количество нод, используемых в репликации. Учитывается только количество slave-нод

SENTINEL_DOWN_AFTER_MS

5000Время в миллисекундах после которого служба мониторинга считает ноду недоступной

SENTINEL_FAILOVER_TIMEOUT

10000Максимальное время в миллисекундах, в течение которого система мониторинга пытается завершить процесс автоматического переключения мастерства между нодами

REDIS_BIND

0.0.0.0

Сетевые адреса, на которых сервер ожидает входящие подключения для репликации

Информация

Рекомендуется оставлять значение REDIS_BIND по умолчанию.

ECCM_DATABASE

eccmИмя основной базы данных ЕССМ. Дублируется имя базы данных из postgres/.env

DATABASE_WAIT_INTERVAL_SEC

5Время в секундах между последовательными попытками проверки готовности базы данных принимать подключения

Доступ к веб-интерфейсу

Для подключения к веб-интерфейсу ECCM откройте браузер и в адресной строке введите следующее:

http://<IP-адрес вашего сервера (ECCM_WEB_ADDRESS)>/
Подсказка
По умолчанию используется логин 'eccm', пароль 'eccm'.

Якорь
Composetools
Composetools
Используемые опции compose-tools.sh


ОпцияОписание
--clean, -cОчистка всех контейнеров, томов и сетей
--delete-containersУдаление контейнеров без удаления томов и сетей
--dhcpАктивация DHCP-сервера с поддержкой функциональности Zero Touch Provisioning (ZTP), автоматически добавляющей устройства в систему
--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>

Пересоздать контейнер с новыми параметрами

Примечание

Контейнер пересоздается согласно файлу .env соответствующего compose-проекта.


--cluster <NODE_ROLE>

Запуск системы в режиме кластера с определенной ролью. Доступные значения: MASTER, SLAVE, WITNESS


Информация

Ключи --metrics, -m больше не поддерживаются, поскольку весь сбор метрик теперь осуществляет Peeper. Актуальные дашборды будут поставляться только для Peeper-server.

Scroll Pagebreak

Примеры использования

Для установки Docker и Docker-compose на хост выполните команду:

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

Для обновления образов всех контейнеров ECCM выполните команду:

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

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

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

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

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

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

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

Для очистки всех контейнеров, томов и сетей ECCM выполните команду:

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

...

Примечание
При запуске скрипта с флагом --clean данные с БД PostgreSQL также будут удалены. Данный флаг рекомендуется использовать только при полной деинсталляции ECCM с сервера.

Для запуска проекта с нужным уровнем логирования добавьте ключ --logging в строку запуска:

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

С версии 1.5 в проекте присутствует DHCP-сервер с поддержкой функциональности Zero Touch Provisioning (ZTP), автоматически добавляющей устройства в систему. По умолчанию сервер отключен. Для активации добавьте ключ --dhcp в строку запуска:

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

Для сохранения всех образов контейнеров в архивы .tar.gz выполните команду:

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

Scroll Pagebreak

Для преобразования архивов с образами (.tar.gz) в docker-образы выполните команду:

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

Для преобразования контейнера с новыми параметрами выполните команду (контейнер пересоздаcтся согласно файлу .env соответствующего compose-проекта):

Блок кода
sudo ./compose-tools.sh --recreate-service monitoring-service

Известные проблемы и методы решения

Возможные ошибки при установке проекта

Ошибка:

E: Невозможно найти пакет conntrack

Возможная причина: в системе настроены неактуальные репозитории менеджера пакетов.

Решение: добавить актуальный репозиторий в файл /etc/apt/sources.list и запустить установку проекта:

Блок кода
echo "deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-extended/ 1.7_x86-64 main contrib non-free" | sudo tee -a /etc/apt/sources.list
sudo ./compose-tools.sh --install

Возможные ошибки при запуске проекта

Ошибка:

ERROR: Couldn't connect to Docker daemon at http+[docker://localhost](docker://localhost) - is it running?

Возможная причина: docker-демон не запущен. Для проверки выполните команду:

Блок кода
sudo systemctl status docker

Если в строке Active статус отличается от Active (running), причина определена верно.

Решение: запустить docker командой:

Блок кода
sudo systemctl start docker


Ошибка:

Got permission denied while trying to connect to the Docker daemon socket at [unix:///var/run/docker.sock]
(unix://intdocs.eltex.loc/var/run/docker.sock): Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json:
dial unix /var/run/docker.sock: connect: permission denied

Возможная причина: запуск производился от имени непривилегированного пользователя, который не был добавлен в группу docker.

Решение 1 (рекомендуется): добавить пользователя в группу docker с помощью команды:

Блок кода
sudo usermod -aG docker $(whoami)

Решение 2: выполнять все операции с привилегиями root.

Ошибка:

Services starting...
Creating network "eccm_eltex-internal" with the default driver
ERROR: Pool overlaps with other one on this address space

Возможная причина: подсеть, указанная в ECCM_INTERNAL_SUBNETWORK, уже используется docker.

Решение: выбрать другую подсеть в файле .env. Просмотреть уже созданные docker-ом подсети можно с помощью команды:

Блок кода
sudo docker network inspect $(docker network ls --filter "DRIVER=bridge" --format '{{ .Name }}')  -f '{{ .Name  }} {{ (index .IPAM.Config 0).Subnet }}'

Возможные ошибки при работе проекта

Ошибка: некорректно работает мониторинг, не собираются метрики устройств.

Возможная причина: сервису мониторинга не хватает памяти для корректной работы. В логах monitoring-service встречаются записи типа:

WARN  [b1a52920966f70af] [item-poll-executor  ] o.e.e.m.service.BackpressureController   : Batch size adjusted for job 'item polling': 100000 → 0 (adjustment factor: 0.000, memory usage: 97%)

Решение: увеличить лимит памяти для monitoring-service. Для этого в файле eccm/.env увеличить значение переменной ECCM_MONITORING_SERVICE_XMX:

-ECCM_MONITORING_SERVICE_XMX=1G  <--- старое значение
+ECCM_MONITORING_SERVICE_XMX=2G  <--- новое значение

Возможные ошибки при остановке проекта

Ошибка:

ERROR: error while removing network: network eccm_eltex-internal id 324bd72dd9c107cf2ea48effb75d9e7ad2dfbc8f5f7317b89cd7f318d61d5c4b has active endpoints

Возможная причина: docker не полностью очистил кэш.

Решение: перезапуск docker с помощью команды:

Блок кода
sudo systemctl restart docker 

Scroll Pagebreak

Возможные ошибки при аутентификации

Ошибка: невозможно аутентифицироваться с помощью учетной записи LDAP.

Возможная причина: некорректная настройка подключения к LDAP-серверу.

Решение: в файле eccm/.env установить переменную AUTH_ECCM_AUTHENTICATION_ENABLED=true и перезапустить сервис identity-provider:

Блок кода
sudo ./compose-tools.sh --recreate-service identity-provider

После этого будет доступна аутентификация по локальной учетной записи.

Scroll Pagebreak

Якорь
Techsupp
Techsupp
Рекомендации к оформлению заявок в техническую поддержку ECCM

Для получения консультации по работе системы обратитесь в Сервисный центр компании. Способы обращения указаны на последней странице данного руководства.

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

  1. Установленная версия ECCM и используемая лицензия;
  2. Есть ли доступ в сеть Интернет с сервера, на котором разворачивается ПО (без доступа, прямой доступ, через NAT, через Proxy и т. п.);
  3. Время возникновения проблемы (желательно как можно более точное);
  4. Скриншот или видеофайл, если проблема проявилась в GUI браузера;
  5. Информация об устройстве (это может быть IP-адрес устройства, модель устройства), если проблема была связана с каким-то устройством.

Также настоятельно рекомендуется воспользоваться скриптом для сбора информации.

Определение версии ECCM и лицензии

Определить установленную версию ECCM можно одним из следующих способов:

  1. При загрузке релизного архива найти информацию о версии в его имени, например, eccm-2.6.tar.gz.
  2. Если исходный архив tar.gz был удалён, то информацию о версии можно найти в конфигурационном файле $ECCM_ROOT/eccm/.env (в строке вида: ECCM_TAG=2.6).
  3. Просмотреть информацию о версии в левом нижнем углу экрана веб-интерфейса запущенного ECCM:

Image RemovedImage Added

1 — версия ECCM;
2 — срок действия выпущенной лицензии.

Лицензию можно приложить из исходного файла или выгрузить из веб-интерфейса ECCM. Подробное описание приведено в разделе документации "Руководство пользователя" → "Настройки" → "Система" → "Лицензия".

Якорь
Script
Script
Скрипт сбора информации

Скрипт автоматизирует сбор метрик c системы ECCM, а затем упаковывает их в сжатый архив для более удобной транспортировки. Предназначен для выполнения на ОС Linux/Ubuntu.

Запуск скрипта:

1. Перейдите в директорию ~/eccm/<версия ECCM>/:

Блок кода
cd ~/eccm/<версия ECCM>/


2. Выполните следующую команду:

Блок кода
sudo ./technical_support.sh


Примечание

Скрипт необходимо запускать в привилегированном режиме, иначе будут собраны не все данные.

3. Дождитесь, пока скрипт осуществит сбор информации;
4. В директорию будет загружен архив <date_time>-technical_support.tar.gz.

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