Дерево страниц

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

Ключ

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

...

Оглавление

A Shared Block
hiddentrue


Metadata list
hiddentrue
|| DeviceType | Облачный сервис мониторинга и управления конфигурациями "ELTEX" |
|| DeviceName | ECCM |
|| DocTitleAdditional | Инструкция по установке ECCM |
|| fwversion | 0.6 |
|| username | eccm |
|| password | eccm |


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

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

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

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

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

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

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


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

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

...

и указать пароль. После этого для выполнения команд с 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.25.4/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 необходимо распаковать в директорию необходимы следующие файлы:

docker-compose.yml
.env

Для распространения они упаковываются в архив, по вопросам получения которого нужно обратиться в коммерческий отдел по телефонам +7 (383) 274-10-01, +7 (383) 274-48-48 или email ELTEX@ELTEX-CO.RU .

Архив с файлами нужно распаковать, а файлы переместить в удобную для работы директорию. Мы рекомендуем для этого создать директорию /opt/eccm

...

 .


Файл docker-compose.yml

...

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

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


Примечание

Параметры ECCM_WEB_ADDRESSECCM_BACKBONE_ADDRESSECCM_DISCOVERY_IP_RANGE необходимо настроить в соответствии с вашей сетевой конфигурацией. 

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

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

	docker-compose down --volume
docker-compose up  


ПеременнаяЗначение по умолчаниюОписание
COMPOSE_PROJECT_NAMEeccmНазвание проекта в docker-compose. Используется для идентификации, в случае если на сервере запущено несколько проектов.
ECCM_PROFILEproductionПрофиль запуска системы. Внутренняя переменная.
ECCM_TAG0.6Номер версии системы.
ECCM_WEB_ADDRESSyourserver.ruАдрес, на котором будет работать Webweb-интерфейс системы.
ECCM_WEB_PORT8080Порт для доступа к Webweb-интерфейсу.
ECCM_BACKBONE_ADDRESSyourserver.ruАдрес ECCM в сети управления устройствами.
ECCM_DISCOVERY_IP_RANGE192.168.0.1,192.168.1.1-63Диапазон автоматического поиска устройств в сети. В качестве аргумента передается список IP-адресов, разделенных запятой. Также в список можно включить диапазоны адресов в виде 192.168.1.1-255 .
ECCM_TIMEZONEAsia/NovosibirskВременной пояс, в котором работает система, указывается в соответствии с tz database, например Asia/Novosibirsk.
ECCM_LOGLEVEL'INFO'Уровень логирования в проекте.

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

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

docker-compose up -d

...

$ docker-compose up -d
Creating network "eccm_eltex-internal" with the default driver
Creating eccm_rabbitmq-service_1       ... done
Creating eccm_postgres-zabbix_1       ... done
Creating eccm_postgres-ory_1           ... done
Creating eccm_identity-provider_1     ... done
Creating eccm_postgres-polemarch_1     ... done
Creating eccm_hydra_1                 ... done
Creating eccm_postgres-eccm_1         ... done
Creating eccm_zabbix-proxy_1           ... done
Creating eccm_monitoring-adapter_1     ... done
Creating eccm_backend-ui_1             ... done
Creating eccm_diff-checker_1           ... done
Creating eccm_upgrade-finish-checker_1 ... done
Creating eccm_data-presenter_1         ... done
Creating eccm_device-manager_1         ... done
Creating eccm_polemarch_1             ... done
Creating eccm_configurator_1           ... done
Creating eccm_oathkeeper-proxy_1       ... done
Creating eccm_zabbix-server_1         ... done
Creating eccm_cron-manager_1           ... done
Creating eccm_web-gui_1               ... done
Creating eccm_upgrader_1               ... done
Creating eccm_git-connector_1         ... done
Creating eccm_communicator_1           ... done
Creating eccm_zabbix-web_1             ... done
Creating eccm_zabbix-adapter-service_1 ... done


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

docker-compose down -v

Доступ к

...

web-интерфейсу

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

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

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

При запуске проекта могут быть ошибкиможет возникнуть ошибка следующего вида:

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

...

  1. (предпочтительное) добавить пользователя в группу docker, это . Это можно сделать командой:

    sudo usermod -aG docker $(whoami)
  2. выполнять все операции с рутовыми привилегиями root


ERROR: Gethttps://hub.eltex-co.ru/v2/: dial tcp: lookup hub.eltex-co.ru on 10.25.160.135:53: server misbehaving

Возможная причина: отсутствует доступ в интернет

Решения:

  1. Проверить доступность внешних ресурсов с сервера, решить сетевые проблемы если они есть.
  2. Если для доступа к внешним ресурсам используется proxy, настроить его использование в docker-daemon.


Настройка PROXY для docker daemon

В случае, если подключение во внешнюю сеть происходит через proxy сервер, docker-daemon должен быть настроен для работу через proxy для того, что бы он имел возможность скачать образы контейнеров ECCM. Данная статья содержит информацию, достаточную для настройки proxy при развертывании демонстрационного стенда в системах, использующих systemd в качестве менеджера инициализации системы (Debian GNU/Linux версии 8 и выше, RHEL версии 7 и выше, CentOS версии 7 и выше, Ubuntu версии 16.04 и выше). Больше информации можно найти в документации к Docker https://docs.docker.com/config/daemon/systemd/#httphttps-proxy .

В системах, использующих systemd настройки запуск настраивается в модул

Для настройки испльзуйте алгоритм:

  1. Создайте директорию для запуска docker-daemon:

    sudo mkdir -p /etc/systemd/system/docker.service.d
    
  2. Создайте файл с названием /etc/systemd/system/docker.service.d/http-proxy.conf
    И содержимым:

    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80"
    Environment="HTTPS_PROXY=https://proxy.example.com:443"

    где  вместо proxy.example.com нужно указать адрес вашего proxy сервера и соответствующие порты.

  3. Обновите настройки сервисов и перезапустите docker:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
  4. Проверьте, что docker daemon начал использовать новые настройки, выполните команду:
    sudo systemctl show --property=Environment docker
    в результате выполнения команды будет указан список всех переменных среды, используемых сервисом, например:
    Environment=HTTP_PROXY=http://proxy.example.com:80 HTTPS_PROXY=https://proxy.example.com:443
    Среди них должны быть proxy, указанные в файле /etc/systemd/system/docker.service.d/http-proxy.conf