...
| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Версия ПО Firmware version 2.2 |
| A Shared Block | |||||
|---|---|---|---|---|---|
| |||||
|
| Оглавление | ||
|---|---|---|
|
""
Получение привилегий sudo без дополнительного ввода пароля (опционально)
От имени непривилегированного пользователя выполните команду:
...
Далее введите пароль. После этого для выполнения команд с привилегиями sudo или перехода в режим суперпользователя дополнительный ввод пароля не потребуется.
Якорь Install_ECCM Install_ECCM
Установка ECCM
| Install_ECCM | |
| Install_ECCM |
Установочный архив
Файлы, необходимые для запуска проекта, распространяются в виде tar-архива. Их можно получить с общедоступного облака. Загрузите архив на сервер и распакуйте его. Рекомендуется распаковывать архив в заранее созданную отдельную директорию.
...
| Блок кода |
|---|
wget "https://cloud.eltex-co.ru/index.php/s/P8xDfmyo3XyEs0g/download?path=%2F&files=eccm-2.2.tar.gz" -O eccm-2.2.tar.gz mkdir eccm tar -zxvf eccm-2.2.tar.gz -C eccm/ |
Установка docker и docker-compose
Наиболее простой и быстрый способ установки — перейти в директорию, в которую был распакован установочный архив, и воспользоваться скриптом compose-tools.sh, используя флаг --install:
...
| Блок кода |
|---|
docker-compose version |
Offline-установка
Установка ЕССМ в систему без доступа к сети Интернет подробно описана в разделе "Offline-установка ECCM".
Запуск ECCM
Проект ECCM распространяется в виде набора файлов, позволяющих запустить все необходимые сервисы с помощью docker-compose. Проект разделен на два docker-стека:
...
Подробнее в разделе "Векторы сетевого взаимодействия".
Скрипт для запуска ECCM
Ввиду большого количества параметров запуска системы, был подготовлен скрипт, выполняющий запуск проекта на одном или нескольких хостах с параметрами производительности, позволяющими обслуживать около 100 устройств. Фактическая производительность зависит от многих факторов, включающих производительность аппаратной части и сложность обслуживаемых сетевых устройств. Для вызова справочной информации перейдите в каталог со скриптом и введите команду:
...
Список всех используемых ключей и их описание можно найти в разделе "Используемые опции compose-tools.sh".
Запуск ECCM на одном хосте
Для запуска проекта перейдите в директорию с файлами установочного архива и выполните команду:
...
| Блок кода |
|---|
sudo ./compose-tools.sh --stop |
Запуск ЕССМ с базой данных на отдельном сервере
| draw.io Diagram | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
| Блок кода |
|---|
sudo ./compose-tools.sh --start 100.110.2.2 --database-host 100.110.2.4 --database-port 5432 |
Якорь Vars Vars
Переменные окружения
| Vars | |
| Vars |
Файлы, необходимые для запуска ECCM и содержащие переменные окружения и конфигурации, находятся в директории, в которую был распакован установочный архив:
| Блок кода |
|---|
postgres/.env postgres/data/postgresql.conf eccm/.env |
Якорь Postgres Postgres
postgres/.env
| Postgres | |
| Postgres |
В postgres/.env содержатся переменные, определяющие поведение стека БД Postgres при его запуске в контейнере. В таблице ниже представлено описание данных переменных:
| Переменная | Значение по умолчанию | Описание |
|---|---|---|
COMPOSE_PROJECT_NAME | postgres | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов) |
POSTGRES_TAG | 2.2 | Версия образа контейнера postgres |
POSTGRES_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образа postgres. Если используется локальное зеркало, то можно указать его адрес |
ROOT_POSTGRES_USER | Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных | |
ROOT_POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данных | |
ECCM_DATABASE | eccm | Название базы данных стека сервисов eccm |
POSTGRES_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk") |
POSTGRES_SHM_SIZE | 2gb | Ограничение выделенной оперативной памяти для работы с БД Postgres |
POSTGRES_PRIVILEGED_MODE | false | Запуск контейнера в привилегированном режиме |
|
| Внешний адрес БД Postgres |
|
| Максимальное количество лог-файлов контейнеров |
| 50M | Максимальный размер лог-файлов контейнеров |
| true | Разрешение сжатия лог-файлов контейнеров |
| hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образа postgres-configurator. Если используется локальное зеркало, то можно указать его адрес |
|
| Версия образа контейнера postgres-configurator |
| true | Активация запуска контейнера postgres-configurator при старте системы |
Якорь Postgresdata Postgresdata
postgres/data/postgresql.conf
| Postgresdata | |
| Postgresdata |
Файл содержит параметры, влияющие на производительность базы данных. Настройки по умолчанию достаточны для тестового запуска и поддержки около 100 устройств. Для изменения конфигурации ECCM ознакомьтесь с полным Руководством пользователя или обратитесь в Службу технической поддержки Eltex.
Якорь Eccm Eccm
eccm/.env
| Eccm | |
| Eccm |
В файле eccm/.env находятся переменные, определяющие поведение проекта. В таблице ниже представлено описание данных переменных:
| Переменная | Значение по умолчанию | Описание | ||||
|---|---|---|---|---|---|---|
COMPOSE_PROJECT_NAME | eccm | Название проекта в docker-compose (используется для идентификации, в случае если на сервере запущено несколько проектов) | ||||
ECCM_PROFILE | production | Профиль проекта | ||||
ECCM_TAG | 2.2 | Версия образов контейнеров | ||||
ECCM_REGISTRY | hub.eltex-co.ru | Адрес docker-registry, с которого будет выполняться получение образов системы. Если используется локальное зеркало, то можно указать его адрес | ||||
ECCM_BACKBONE_ADDRESS | 192.168.0.1 | Внутренний адрес, на котором будет работать система ECCM с устройствами в сети | ||||
ECCM_WEB_ADDRESS | 192.168.0.1 | Адрес, на котором будет работать web-интерфейс системы ECCM | ||||
ECCM_WEB_PORT | 80 | Порт для доступа к web-интерфейсу | ||||
ECCM_TIMEZONE | Asia/Novosibirsk | Временной пояс, в котором работает система (указывается в соответствии с tz database, например "Asia/Novosibirsk") | ||||
ECCM_LOGLEVEL | 'INFO' | Уровень логирования в проекте | ||||
MAX_CONCURRENT_SSH_TASKS | 20 | Количество одновременно выполняемых операций с устройствами | ||||
POSTGRES_HOST | 192.168.0.1 | Адрес, на котором работает БД Postgres | ||||
POSTGRES_PORT | 5432 | Порт для доступа к БД Postgres | ||||
ROOT_POSTGRES_USER | Параметр, позволяющий переопределить логин суперпользователя для доступа и конфигурирования базы данных | |||||
ROOT_POSTGRES_PASSWORD | Параметр, позволяющий переопределить пароль суперпользователя для доступа и конфигурирования базы данных | |||||
ECCM_POSTGRES_DB | eccm | Название базы данных для сервисов eccm | ||||
ECCM_POSTGRES_USER | Параметр, позволяющий переопределить логин по умолчанию для доступа к базе данных ECCM_POSTGRES_DB | |||||
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 | Включение аутентификации с помощью локальных учетных записей |
Доступ к web-интерфейсу
Для подключения к web-интерфейсу ECCM откройте браузер и в адресной строке введите следующее:
...
| Подсказка |
|---|
| По умолчанию используется логин 'eccm', пароль 'eccm'. |
Якорь Composetools Composetools
Используемые опции compose-tools.sh
| Composetools | |
| Composetools |
| Опция | Описание | ||
|---|---|---|---|
| --clean, -c | Очистка всех контейнеров, томов и сетей | ||
| --delete-containers | Удаление контейнеров без удаления томов и сетей | ||
| --dhcp | Активация DHCP-сервера с поддержкой функциональности Zero Touch Provisioning (ZTP), автоматически добавляющей устройства в систему | ||
| --database-host <HOST> | IP-адрес подключения к внешней базе данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL | ||
| --database-port <PORT> | Порт подключения к внешней базе данных PostgreSQL, установленной на другом хосте. Не использовать, если на хосте с ЕССМ запущена БД PostgreSQL | ||
| --help, -h | Вызов справочной информации | ||
| --https | Активация режима поддержки https. Требует наличия сертификата | ||
| --install | Установка Docker и Docker-compose на хост | ||
| --interactive, -i | Запуск системы в интерактивном режиме. Использовать с ключом --start | ||
| --load | Загрузить все доступные архивы .tar.gz из директории с образами в docker | ||
| --logging, -l <LEVEL> | Задание уровня логирования для проекта ЕССМ. Доступные значения: DEBUG, INFO | ||
| --logging-aspect | Включение логирования через аспекты сервисов. Аспект логирует все входы и выходы из методов, их параметры, а также возвращаемые значения. Не рекомендуется включать этот параметр при штатной работе системы | ||
| --metrics, -m | Запуск системы в режиме сбора метрик. В этом режиме запускаются сервисы Grafana, Prometheus и дополнительные средства мониторинга хоста, docker-контейнеров и БД PostgreSQL. Веб-интерфейс Grafana доступен по адресу http://<IP_ECCM>:3000 | ||
| --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> | Пересоздать контейнер с новыми параметрами
|
| Scroll Pagebreak |
|---|
Примеры использования
Для установки Docker и Docker-compose на хост выполните команду:
...
| Блок кода |
|---|
sudo ./compose-tools.sh --recreate-service monitoring-service |
Известные проблемы и методы решения
Возможные ошибки при установке проекта
Ошибка:
E: Невозможно найти пакет conntrack
...
| Блок кода |
|---|
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?...
| Блок кода |
|---|
sudo docker network inspect $(docker network ls --filter "DRIVER=bridge" --format '{{ .Name }}') -f '{{ .Name }} {{ (index .IPAM.Config 0).Subnet }}' |
Возможные ошибки при работе проекта
Ошибка: некорректно работает мониторинг, не собираются метрики устройств.
...
-ECCM_MONITORING_SERVICE_XMX=1G <--- старое значение
+ECCM_MONITORING_SERVICE_XMX=2G <--- новое значение
Возможные ошибки при остановке проекта
Ошибка:
ERROR: error while removing network: network eccm_eltex-internal id 324bd72dd9c107cf2ea48effb75d9e7ad2dfbc8f5f7317b89cd7f318d61d5c4b has active endpoints...
| Блок кода |
|---|
sudo systemctl restart docker |
| Scroll Pagebreak |
|---|
Возможные ошибки при аутентификации
Ошибка: невозможно аутентифицироваться с помощью учетной записи LDAP.
...
После этого будет доступна аутентификация по локальной учетной записи.
| Scroll Pagebreak |
|---|
| Якорь | ||||
|---|---|---|---|---|
|
Для получения консультации по работе системы обратитесь в Сервисный центр компании. Способы обращения указаны на последней странице данного руководства.
...
Также настоятельно рекомендуется воспользоваться скриптом для сбора информации.
Определение версии ECCM и лицензии
Определить установленную версию ECCM можно одним из следующих способов:
...
Лицензию можно приложить из исходного файла или выгрузить из веб-интерфейса ECCM. Подробное описание приведено в разделе документации "Руководство пользователя" → "Настройки" → "Система" → "Лицензия".
| Якорь | ||||
|---|---|---|---|---|
|
Скрипт автоматизирует сбор метрик c системы ECCM, а затем упаковывает их в сжатый архив для более удобной транспортировки. Предназначен для выполнения на ОС Linux/Ubuntu.
...