Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

ELTEX Cloud Configuration Manager
Инструкция по установке ECCM
Версия ПО 1.3.0

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

Для стабильной работы сервер должен отвечать следующим требованиям:

  • операционная система семейства Linux, поддерживающая docker (рекомендуется Ubuntu server 20 и новее);

  • объем оперативной памяти от 8 ГБ;

  • процессор, поддерживающий виртуализацию и имеющий от 4-х ядер;

  • от 40 ГБ свободного места на жестком диске;

  • наличие сетевого интерфейса 1 Гбит/с.

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

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

echo "$(whoami)    ALL=(ALL) NOPASSWD: ALL" | sudo EDITOR='tee -a' visudo

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

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

Установка docker

Наиболее простой и быстрый способ установки — воспользоваться скриптом с официального сайта docker.com:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Добавление непривилегированного пользователя в группу docker

Это позволит работать с docker без использования sudo:

sudo usermod -aG docker $(whoami)

После этого необходимо повторно авторизоваться в системе.

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

Docker-compose — отдельный проект от docker, поэтому для получения свежей версии его нужно скачать с github:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Запуск ECCM

Файлы и конфигурация

Файлы, необходимые для запуска ECCM, нужно распаковать в директорию /opt/eccm :

docker-compose.yml
.env
data/postgres-eccm/postgresql.conf
data/postgres-eccm/init-db/init-db.sql

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

В файле .env находятся переменные, определяющие поведение проекта. В таблице 1 представлен перечень данных переменных.

Таблица 1 — Переменные, определяющие поведение проекта

ПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEeccmНазвание проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов).
ECCM_PROFILEproduction
ECCM_TAG1.2
ECCM_REGISTRYhub.eltex-co.ruАдрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес.
ECCM_INTERNAL_SUBNETWORK172.18.0.0/24Внутренняя подсеть (используется для запуска контейнеров).
ECCM_WEB_ADDRESSyourserver.ruАдрес, на котором будет работать web-интерфейс системы.
ECCM_WEB_PORT80Порт для доступа к web-интерфейсу.
ECCM_BACKBONE_ADDRESSyourserver.ruАдрес ECCM в сети управления устройствами.
ECCM_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система (указывается в соответствии с tz database, например Asia/Novosibirsk).
ECCM_LOGLEVEL'INFO'Уровень логирования в проекте.
MAX_PARALLEL_TASKS4Количество одновременно выполняемых операций с устройствами.
POSTGRES_USER
Параметр, позволяющий переопределить дефолтный логин для доступа к базе данных.
POSTGRES_PASSWORD
Параметр, позволяющий переопределить дефолтный пароль для доступа к базе данных.

postgresql.conf

Файл содержит параметры, влияющие на производительность базы данных. Настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств. Инструкции по изменению конфигурации можно найти на странице ECCM на сайте https://eltex-co.ru/ или в службе технической поддержки ELTEX.

init-db.sql

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

Примеры команд для запуска ECCM

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

docker-compose up -d

Пример вывода на консоль при успешном запуске:

$ docker-compose up -d
Creating eccm_rabbitmq-service_1            ... done
Creating eccm_monitoring-service-worker_1   ... done
Creating eccm_monitoring-service_1          ... done
Creating eccm_postgres-eccm_1               ... done
Creating eccm_postgres-monitoring-bouncer_1 ... done
Creating eccm_identity-provider_1           ... done
Creating eccm_configurator_1                ... done
Creating eccm_monitoring-server_1           ... done
Creating eccm_hydra_1                       ... done
Creating eccm_monitoring-web_1              ... done
Creating eccm_oathkeeper-proxy_1            ... done
Creating eccm_data-presenter_1              ... done
Creating eccm_polemarch_1                   ... done
Creating eccm_monitoring-adapter_1          ... done
Creating eccm_device-manager_1              ... done
Creating eccm_diff-checker_1                ... done
Creating eccm_license-manager_1             ... done
Creating eccm_backend-ui_1                  ... done
Creating eccm_upgrade-finish-checker_1      ... done
Creating eccm_git-connector_1               ... done
Creating eccm_upgrader_1                    ... done
Creating eccm_communicator_1                ... done
Creating eccm_web-gui_1                     ... done
Creating eccm_cron-manager_1                ... done

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

docker-compose down

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

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

http://<IP-адрес вашего сервера (ECCM_WEB_ADDRESS)>/

Учетные данные, используемые по умолчанию: логин 'eccm', пароль 'eccm' .

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

Ошибки, возникающие при запуске проекта

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

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

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, уже используется докером.

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

docker network inspect $(docker network ls --filter "DRIVER=bridge" --format '{{ .Name }}')  -f '{{ .Name  }} {{ (index .IPAM.Config 0).Subnet }}'

Ошибки, возникающие при остановке проекта

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

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

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

sudo systemctl restart docker 
  • Нет меток