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

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

Ключ

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

...

A Shared Block
hiddentrue


Metadata list
|| DeviceType | Платформа |
|| DeviceName | Eltex SC |
|| DocTitleAdditional | Установка платформы |
|| fwversion | 1.23 |


Рекомендуемые характеристики сервера

Система Eltex SC строится по клиент-серверной архитектуре. Серверную часть рекомендуется устанавливать на многопроцессорный компьютер под управлением OS Ubuntu 20.

...

Примечание

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

Установка платформы Eltex SC

В инструкции описан процесс установки платформы Eltex SC версии 1.23 на операционную систему Ubuntu 20.04Информацию по установке более ранних версий платформы Eltex SC (1.22 и ниже) можно найти по ссылке: Архив  Архив Eltex SC.


Примечание

С версии 1.19.4 установка через deb-пакеты не осуществляется.

...

Блок кода
titleУстановка
linenumberstrue
cd /etc/ansible-iot-1.23
ansible-playbook install.yml


Примечание

Если ранее использовалась версия платформы Eltex SC c подключением внешней БД MongoDB, необходимо удалить запись о репозитории mongodb.org из APT (например, /etc/apt/sources.list.d/mongodb-org-4.4.list).

Scroll Pagebreak
8. Выполните проверку статуса контейнеров:

...

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


9. Добавьте файл лицензий.

Подробное описание процесса добавления файла лицензий доступно в документации Интерфейс администратора в разделе Лицензии.

Примечание

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

Установка платформы Eltex SC с внешней БД MongoDB

В случае развертывания внешней БД MongoDB, т.е. при установке платформы Eltex SC с внешним процессом/службой mongodb:

Примечание

Доступ к репозиториям репозиториям mongodb.org может  может быть ограничен. В случае проблем с установкой пакетов необходимо использовать зеркало репозитория или вручную установить deb-пакеты (например, доступные в публичном репозитории).

1. Установите необходимые зависимости и сервис MongoDB (например версии 4.4):

Блок кода
linenumberstrue
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y software-properties-common gnupg build-essential net-tools dkms
wget https://www.mongodb.org/static/pgp/server-4.4.asc
sudo apt-key add server-4.4.asc
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo service mongod start
sudo service mongod status

2. В файле /etc/mongod.conf в секции net укажите:

Блок кода
languagebash
linenumberstrue
port: 27017
bindIp: 0.0.0.0

И перезапустите сервис mongod:

Блок кода
linenumberstrue
sudo service mongod restart
sudo service mongod status

3. Установите Установите Ansible на сервер:

Блок кода
linenumberstrue
sudo add-apt-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
sudo ansible-galaxy collection install community.general
sudo ansible-galaxy collection install community.crypto
sudo ansible-galaxy collection install community.docker

Scroll Pagebreak
4. Подготовьте конфигурацию:

Блок кода
titleРаспаковка архива с конфигурацией
tar -C /etc -xvf ansible-iot-1.23.tar.gz

...

Файлы конфигурации и плейбуки (скрипты/конфигурации) Ansible будут расположены в директории /etc/ansible-iot-1.23.


5. Отредактируйте файл /etc/ansible-iot-1.23/inventory.

Откройте файл в любом доступном текстовом редакторе, например например nano. Укажите пароль от root в переменной ansible_sudo_pass:

Примечание

Далее в примере для пользователя root используется пароль rootpasswd

При установке задайте свой пароль.

...

Блок кода
titleСодержимое файла inventory
linenumberstrue
[default]
localhost ansible_connection=local ansible_sudo_pass=rootpasswd


6. Настройте параметры доступа к платформе, в том числе параметры для работы с внешним сервисом БД. Для этого отредактируйте файлы конфигурации /etc/ansible-iot-1.23/vars/default.yml и /etc/ansible-iot-1.23/vars/service_parameters.yml.

Откройте файл default.yml в любом доступном текстовом редакторе, например nano. Укажите корректный IP-адрес или доменное имя в переменной server_name. 

Scroll Pagebreak

...

Блок кода
languageyml
titleСодержимое конфигурационного файла /vars/service_parameters.yml
linenumberstrue
iot_release: 1.23
registry: hub.eltex-co.ru
container_name_suffix: ""
network_name_suffix: ""
db_mapped_port: 27017
mqtt_broker_external_mapped_port: 8883
mqtt_broker_internal_mapped_port: 8083
olapservice_mapped_port: 8023
olapservice_db_mapped_port: 8123
ngw_mapped_port: 8040
core_ctlgate_tcp_mapped_port: 8069
core_ctlgate_mapped_port: 8070
core_ctlgate_ssl_mapped_port: 8072
core_api_mapped_port: 8071
core_api_ssl_mapped_port: 8073
services:
with_distro_preparing_step: true
iot_core_log_level: info
export_mongo_port: false
export_mqtt_broker_port: false
export_olapservice_port: false
export_olapservice_db_port: false
export_ngw_port: false
without_core: false
without_web: false
testdata_enable: false
swagger_enable: false
iot_core_db: iot-core
iot_fs_db: iot-fs
iot_licenses_db: iot-licenses
iot_events_db: iot-events
mqtt_broker_db: iot-broker
olap_service_db: iotcore
mjollnir_url: "http://92.125.152.58:8078/api/v1"
script_step_delay: 2
script_critical_repetition: 2
script_max_delay: 10
script_stoppable: true

Scroll Pagebreak

8. После этого можно запустить установку:

Блок кода
cd /etc/ansible-iot-1.23
sudo ansible-playbook install.yml

...

Подсказка

Платформа будет доступна по адресу: http://[Адрес вашего сервера Eltex SC]

Адрес сервера был ранее указан в переменной server_name файла конфигурации /etc/ansible-iot-1.23/vars/default.yml 



9. Добавьте файл лицензий.

Подробное описание процесса добавления файла лицензий доступно в документации Интерфейс администратора в разделе Лицензии.

Примечание

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

Работа с контейнерами

В процессе обслуживания можно осуществлять перезапуск контейнеров:

Блок кода
titleПерезапуск контейнеров
ansible-playbook services_restart.yml --extra-vars '{"services":["web", "core", "broker", "olapservice"]}'


В квадратных скобках нужно перечислить сервисы, которые необходимо перезапустить (в примере это "web", "core", "broker", "olapservice"). Если не указать параметр "services" через --extra-vars, то будут перезапущены все сервисы.
Аналогичным образом можно остановить часть контейнеров:

Блок кода
titleОстановка контейнеров
ansible-playbook services_stop.yml --extra-vars '{"services":["web", "core", "broker", "olapservice"]}'

...

Блок кода
titleОбновление контейнеров
ansible-playbook install.yml

Расположение конфигурационных файлов

В /etc/ansible-iot-1.23/templates располагаются конфигурации для ядра, web и сервера e-mail/sms-рассылок:

...


Параметры конфигурационного файла:

  • testData — порт сервера;
  • fileStorage — путь до хранилища загружаемых файлов (внутри контейнера Docker);
  • logger — уровень логирования сервера. Для включения режима debug необходимо выставить mongodb: DEBUG;
  • controllerGateTCP — порт сервера, к которому подключаются контроллеры Ethernet в режиме TCP-клиента;
  • controllerGate port — порт сервера, к которому подключаются контроллеры (по умолчанию 8070);
  • controllerGateSecurity port — порт сервера, к которому подключаются контроллеры c использованием сертификата SSL, по умолчанию 8072;
  • api port — порт сервера для взаимодействия с API платформы через веб-интерфейс или мобильное приложение;
  • api sslPort — порт сервера для взаимодействия с API платформы через веб-интерфейс или мобильное приложение с использованием SSL-сертификата;
  • ui port — порт, указываемый при формировании ссылок в письмах оповещений и т.д., например для функционала "Восстановление пароля";
  • mqttBroker — настройка сервиса MQTT;
  • olapservice — настройка сервиса OLAP (доступ до контейнера Docker);
  • server name — доменное имя сервера, на котором развернута платформа и/или UI;
  • electricMeterScheduler — параметр, отвечающий за автоматический опрос устройства платформой (по умолчанию опрос выполняется каждые 30 минут, начиная от начала часа). Пример: cron: 3 0/1 * * * ? — опрос каждые 3 минуты;
  • electricMeterArchiveScheduler — параметр, отвечающий за автоматический опрос архива устройства платформой;
  • services — настройки внешних сервисов (Eltex NGW, Google FCM, Apple APNS) для работы системы рассылки оповещений на платформе;
  • video — настройка видеосервиса Flussonic;
  • ssl — путь до сертификатов SSL (внутри контейнера Docker);
  • proxy — настройка прокси-сервера;
  • billing — настройка сервиса биллинга;
  • notifications — настройка защиты сервиса push-уведомлений.

    Параметры:

    - duplicate_delay_sec — период времени, в течение которого будет блокироваться дубликат сообщения (полностью совпадающий), задается в секундах; 

    - antispam_time_sec — период времени, в течение которого будет блокироваться отправка последующих однотипных сообщений (не полностью совпадающих, например "Контроллер вне доступа 1", "Контроллер вне доступа 2" и т. д.), задается в секундах; 

    - delay_push_time_millisec — задержка между отложенными push-уведомлениями, задается в миллисекундах.

  • guard — настройка задержки перед постановкой на охрану;
  • swagger — сервис для взаимодействия и просмотра API платформы Eltex SC. Для доступа необходимо обратиться к сервису :8071/api/v1/swagger-ui/.
  • controller: delay_answer_from_control_millisec — настройка задержки ожидания ответа от контроллера;

...

Во всех случаях для входа в платформу необходимо указать ее адрес и номер порта. В общем случае в адресную строку браузера вводится следующее: <Адрес сервера Eltex SC>.

Проверка работоспособности платформы

В данном разделе представлен чек-лист для проверки работоспособности платформы.

...

Блок кода
titleОтвет сервера на запрос
linenumberstrue
{
  "version" : "1.23-3477",
  "api" : "1.0",
  "currentTime" : "2022-07-25T09:24:12.544842Z[Etc/UTC]"
}

Настройка сервиса eltex-notification-gw (eltex-ngw)

Сервис eltex-notification-gw представляет собой интерфейс для отправки e-mail и sms-оповещений пользователям платформы. Eltex-notification-gw обеспечивает взаимодействие компонентов платформы с внешними SMS-шлюзами, call-центрами и серверами электронной почты.

...

Примечание

mail.smtp.password

Если в вашем пароле используются спецсимволы типа:  " [ \ ^ $ . | ? * + ( )",  их необходимо экранировать знаком "\", иначе пароль будет неверным!

Пример 1: пароль "326P%1E\" при экранировании должен выглядеть следующим образом: "326P%1E\\"; 

Пример 2: пароль "326P%1E^326P%1E^" при экранировании должен выглядеть следующим образом: "326P%1E\^".

...

Подсказка

Для включения шифрования соединения с почтовым сервером укажите опцию:

mail.smtp.starttls.enable=true


Переход с http на https


Примечание
Ваш сертификат должен иметь формат PKCS#8.

...