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

Версия ПО 1.26

Минимальные системные требования

Платформа Eltex SC (Eltex Smart Cloud) разработана для организации единой системы управления, конфигурирования и мониторинга устройств Интернета вещей (датчиков, электросчетчиков, web-камер и т.п.). Использование данной системы с графическим web-интерфейсом и мобильным приложением позволяет:

  • управлять учетными записями пользователей (добавление, изменение, удаление);
  • осуществлять мониторинг состояния устройств умного дома;
  • получать уведомления о событиях;
  • создавать сценарии работы устройств в доме.

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

  • число аппаратных серверов — 1;
  • процессор — i5 3,0 ГГц;
  • оперативная память — 8 ГБ;
  • место на диске — 1000 ГБ;
  • производительность дискового массива (чтение/запись) — 2000 IOPS.

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

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


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

Установка Eltex SC на сервер, не отвечающий минимальным системным требованиям, может привести к неработоспособности платформы или увеличить время обработки запросов.

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

Ansible — система управления конфигурациями, написанная на языке программирования Python с использованием декларативного языка разметки для описания конфигураций. Система используется для автоматизации настройки и развертывания программного обеспечения, в частности для ПО Eltex SC.


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

1. Установите Ansible на сервер Ubuntu 20.04. 

Пример установки через консоль:

Установка Ansible
apt update
apt install --install-recommends linux-generic-hwe-20.04-edge
apt install software-properties-common
add-apt-repository --yes --update ppa:ansible/ansible
apt install ansible


Более подробная информация по установке Ansible доступна по ссылке.


2. Выполните проверку версии (должна быть не ниже v2.9):

Проверка версии Ansible
ansible --version


3. После установки Ansible добавьте необходимые для ее работы коллекции.

Пример добавления коллекций:

Установка
ansible-galaxy collection install community.general
ansible-galaxy collection install community.crypto
ansible-galaxy collection install community.docker


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

Для получения файлов конфигурации обратитесь с запросом в Коммерческий отдел ЭЛТЕКС.
Файлы конфигурации будут направлены вам в виде архива tar.gz, который необходимо распаковать в директорию 
/etc с правами root.

Пример распаковки архива:

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


После распаковки архива все пакеты и зависимости будут развернуты в директории на текущем сервере.

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


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

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

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

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

Пример задания пароля:

Содержимое файла inventory
[iot]
localhost	ansible_connection=local	ansible_sudo_pass=rootpasswd
[elk]
localhost	ansible_connection=local	ansible_sudo_pass=rootpasswd
[monitoring]
localhost	ansible_connection=local	ansible_sudo_pass=rootpasswd


6. Далее необходимо настроить параметры доступа к платформе Eltex SC.

Для базовой установки достаточно отредактировать файл конфигурации /etc/ansible-iot-1.26/vars/default.yml.

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

Содержимое конфигурационного файла vars/default.yml
---
# Параметры установки платформы
iot:
  # Имя (IP-адрес) сервера, на котором будет производиться развертывание платформы IoT
  # Возможно использование 'localhost', если все манипуляции производятся локально
  #  ВАЖНО!!! В 'serverName' нужно прописывать то имя (IP-адрес), по которому будет доступна платформа
  # Если указать 'localhost', то платформа будет доступна только через 'localhost'
  serverName: "my.test.server"
  # Содержит путь до директории, в которую будет произведена установка
  installDir: /storage/iot

# Параметры установки сервисов логирования (Elasticsearch + Logstash + Kibana)
elk:
  # Нужно ли добавлять в платформу appender, отправляющий логи в logstash
  # В нем нет необходимости, если ELK не развернут или не настроен; это лишь спровоцирует сообщения
  # об ошибках отправки в логах платформы
  enable: false
  # Имя (IP-адрес) сервера, на котором будет развернут ELK
  # По умолчанию совпадает с 'iot.serverName', что предполагает установку рядом с платформой (на том же хосте)
  # В таком случае хосты в инвентаре в группах [iot] и [monitoring] должны совпадать
  serverName: "{{ iot.serverName }}"
  # Директория для установки системы логирования
  installDir: /storage/elk

# Параметры установки сервисов мониторинга (Prometheus + Grafana)
monitoring:
  # Имя (IP-адрес) сервера, на котором будет развернуты сервисы мониторинга (Prometheus + Grafana)
  # По умолчанию совпадает с 'iot.serverName', что предполагает установку рядом с платформой (на том же хосте)
  # В таком случае хосты в инвентаре в группах [iot] и [elk] должны совпадать
  serverName: "{{ iot.serverName }}"
  # Директория для установки системы мониторинга
  installDir: /storage/monitoring


Содержимое конфигурационного файла vars/default.yml
# Параметры MongoDB
mongodb:
  # Версия MongoDB. На старой аппаратной платформе, не поддерживающей оптимизацию, выставить значение `4`
  version: 5
  external:
    # Если выставлен в true, будет использоваться внешняя MongoDB
    # ВАЖНО!!! MongoDB должна быть настроена, а параметры подключения нужно указать в 'addr' и 'port'
    enable: false
    # Адрес внешней MongoDB
    addr: "{{ iot.serverName }}"
    # Порт внешней MongoDB
    port: 27017

# Параметры WEB
web:
  # Имя (IP-адрес) сервера, на котором будет развернут WEB
  # По умолчанию совпадает с 'iot.serverName', что предполагает установку рядом с платформой (на том же хосте)
  serverName: "{{ iot.serverName }}"
  # Порт HTTP, по которому будет осуществляться доступ в WEB
  httpPort: 80
  # Порт HTTPS, по которому будет осуществляться доступ в WEB
  httpsPort: 443
  # Автоматически перенаправлять запросы по порту HTTP на порт HTTPS
  redirectHttpToHttps: false
  certbot:
    # Использовать ли certbot для получения сертификатов Let's Encrypt
    enable: false
    # E-mail владельца домена. Необходим для подтверждения валидности домена при получении сертификата Let's Encrypt
    email: test@email.com

# Параметры сервера отправки email (NGW)
mail:
  smtp:
    submitter: test@email.com
    password: "password"
    senderPrefix: "Сервер Eltex-SC"
    auth: "true"
    host: email.com
    port: 587
Содержимое конфигурационного файла vars/default.yml
# Параметры платформы IoT core
core:
  # Уровень отладки внутри IoT Core
  logLevel: INFO

  # Порты платформы для подключения контроллеров Z-Way
  ctlGate:
    port: 8070
    tcpPort: 8069
    sslPort: 8072

  # Порты API платформы
  api:
    port: 8071
    sslPort: 8073

  # Уровень сложности CAPTCHA: easy, medium, hard
  captchaLevel: "easy"

  server:
    # Нужно ли использовать HTTPS при формировании ссылок к WEB ('true' по умолчанию, при этом будет использован порт,
    # указанный в 'web.httpsPort'). Если поставить в 'false', будет использован HTTP и порт, указанный в 'web.httpPort'
    useHttpsForUi: true
    # Нужно ли использовать HTTPS при формировании ссылок к ресурсам самой платформы (например, прошивки)
    useHttpsForApi: false
    # Нужно ли использовать HTTPS при формировании ссылок на фото с камер наблюдения
    useHttpsForCameraLinks: true
    # Нужно ли использовать 'web.serverName' вместо 'iot.serverName' и 'web.httpPort'/'web.httpsPort'
    # вместо 'core.api.port'/'core.api.sslPort' при формировании ссылок к API
    useUiProxyForApi: false

  # Параметры для управления доступностью саморегистрации
  selfRegistration:
    allow: true
    allowDemo: true

  # Параметры для работы с видеосерверами
  video:
    # Параметры Flussonic.
    flussonic:
      url: ""
      apiKey: ""
      operatorId: ""
      adminLogin: ""
    # Параметры видеосервера eltex
    eltex_server:
      url: ""
Содержимое конфигурационного файла vars/default.yml
  # Параметры навыка Яндекс для интеграции с Умным домом (Алисой). Отображается в карточке навыка
  yandexSkill:
    # Параметры для Basic Authentication
    clientId: "YandexClientIdChangeMe"
    password: "PasswordChangeMe"
    # ID навыка, который необходимо указывать при отправке уведомлений
    skillId: ""
    # OAuth-токен, который необходимо указывать при отправке уведомлений
    oauthToken: ""

  # Параметры проекта умного дома Сбера для интеграции с Салютом. Отображается в карточке проекта
  sberSkill:
    # Параметры для Basic Authentication
    clientId: "SberClientIdChangeMe"
    password: "PasswordChangeMe"
    # Bearer-токен, который необходимо указывать при отправке уведомлений
    bearerToken: ""

  # Параметры проекта умного дома Mail.ru для интеграции с Марусей. Отображается в карточке проекта/приложения
  marusyaSkill:
    # Параметры для Basic Authentication
    clientId: "MarusyaClientIdChangeMe"
    password: "PasswordChangeMe"
    # App ID, который был назначен приложению VK при создании
    appId: "MarusyaAppIdChangeMe"
    # OAuth-токен, который необходимо указывать при отправке уведомлений
    oauthToken: ""
---
# Параметры установки платформы
iot:
  # Имя (IP-адрес) сервера, на котором будет производиться развертывание платформы IoT
  # Возможно использование 'localhost', если все манипуляции производятся локально
  #  ВАЖНО!!! В 'serverName' нужно прописывать то имя (IP-адрес), по которому будет доступна платформа
  # Если указать 'localhost', то платформа будет доступна только через 'localhost'
  serverName: "my.test.server"
  # Содержит путь до директории, в которую будет произведена установка.
  installDir: /storage/iot
Содержимое конфигурационного файла vars/default.yml
# Параметры установки сервисов логирования (Elasticsearch + Logstash + Kibana)
elk:
  # Нужно ли добавлять в платформу appender, отправляющий логи в logstash
  # В нем нет необходимости, если ELK не развернут или не настроен; это лишь спровоцирует сообщения
  # об ошибках отправки в логах платформы
  enable: false
  # Имя (IP-адрес) сервера, на котором будет развернут ELK
  # По умолчанию совпадает с 'iot.serverName', что предполагает установку рядом с платформой (на том же хосте)
  # В таком случае хосты в инвентаре в группах [iot] и [monitoring] должны совпадать
  serverName: "{{ iot.serverName }}"
  # Директория для установки системы логирования
  installDir: /storage/elk

# Параметры установки сервисов мониторинга (Prometheus + Grafana)
monitoring:
  # Имя (IP-адрес) сервера, на котором будет развернуты сервисы мониторинга (Prometheus + Grafana)
  # По умолчанию совпадает с 'iot.serverName', что предполагает установку рядом с платформой (на том же хосте)
  # В таком случае хосты в инвентаре в группах [iot] и [elk] должны совпадать
  serverName: "{{ iot.serverName }}"
  # Директория для установки системы мониторинга
  installDir: /storage/monitoring

# Параметры MongoDB
mongodb:
  # Версия MongoDB. На старой аппаратной платформе, не поддерживающей оптимизацию, выставить значение `4`
  version: 5
  external:
    # Если выставлен в true, будет использоваться внешняя MongoDB
    # ВАЖНО!!! MongoDB должна быть настроена, а параметры подключения нужно указать в 'addr' и 'port'
    enable: false
    # Адрес внешней MongoDB
    addr: "{{ iot.serverName }}"
    # Порт внешней MongoDB
    port: 27017
Содержимое конфигурационного файла vars/default.yml
# Параметры WEB
web:
  # Имя (IP-адрес) сервера, на котором будет развернут WEB
  # По умолчанию совпадает с 'iot.serverName', что предполагает установку рядом с платформой (на том же хосте)
  serverName: "{{ iot.serverName }}"
  # Порт HTTP, по которому будет осуществляться доступ в WEB
  httpPort: 80
  # Порт HTTPS, по которому будет осуществляться доступ в WEB
  httpsPort: 443
  # Автоматически перенаправлять запросы по порту HTTP на порт HTTPS
  redirectHttpToHttps: false
  certbot:
    # Использовать ли certbot для получения сертификатов Let's Encrypt
    enable: false
    # Email владельца домена. Необходим для подтверждения валидности домена при получении сертификата Let's Encrypt
    email: test@email.com

# Параметры сервера отправки email (NGW)
mail:
  smtp:
    submitter: test@email.com
    password: "password"
    senderPrefix: "Сервер Eltex-SC"
    auth: "true"
    host: email.com
    port: 587

# Параметры платформы IoT core
core:
  # Уровень отладки внутри IoT Core
  logLevel: INFO

  # Порты платформы для подключения контроллеров Z-Way
  ctlGate:
    port: 8070
    tcpPort: 8069
    sslPort: 8072

  # Порты API платформы
  api:
    port: 8071
    sslPort: 8073

  # Уровень сложности для CAPTCHA: easy, medium, hard
  captchaLevel: "easy"
Содержимое конфигурационного файла vars/default.yml
  server:
    # Нужно ли использовать HTTPS при формировании ссылок к WEB ('true' по умолчанию, при этом будет использован порт,
    # указанный в 'web.httpsPort'). Если поставить в 'false', будет использован HTTP и порт, указанный в 'web.httpPort'
    useHttpsForUi: true
    # Нужно ли использовать HTTPS при формировании ссылок к ресурсам самой платформы (например, прошивки)
    useHttpsForApi: false
    # Нужно ли использовать HTTPS при формировании ссылок на фото с камер наблюдения
    useHttpsForCameraLinks: true
    # Нужно ли использовать 'web.serverName' вместо 'iot.serverName' и 'web.httpPort'/'web.httpsPort'
    # вместо 'core.api.port'/'core.api.sslPort' при формировании ссылок к API
    useUiProxyForApi: false

  # Параметры для управления доступностью саморегистрации
  selfRegistration:
    allow: true
    allowDemo: true

  # Параметры для работы с видеосерверами
  video:
    # Параметры Flussonic
    flussonic:
      url: ""
      apiKey: ""
      operatorId: ""
      adminLogin: ""
    # Параметры видеосервера eltex
    eltex_server:
      url: ""

  # Параметры навыка Яндекс для интеграции с Умным домом (Алисой). Отображаются в карточке навыка
  yandexSkill:
    # Параметры для Basic Authentication.
    clientId: "YandexClientIdChangeMe"
    password: "PasswordChangeMe"
    # ID навыка, который необходимо указывать при отправке уведомлений
    skillId: ""
    # OAuth-токен, который необходимо указывать при отправке уведомлений
    oauthToken: ""

  # Параметры проекта умного дома Сбера для интеграции с Салютом. Отображаются в карточке проекта
  sberSkill:
    # Параметры для Basic Authentication
    clientId: "SberClientIdChangeMe"
    password: "PasswordChangeMe"
    # Bearer-токен, который необходимо указывать при отправке уведомлений
    bearerToken: ""
Содержимое конфигурационного файла vars/default.yml
  # Параметры проекта умного дома Mail.ru для интеграции с Марусей. Отображаются в карточке проекта/приложения
  marusyaSkill:
    # Параметры для Basic Authentication
    clientId: "MarusyaClientIdChangeMe"
    password: "PasswordChangeMe"
    # App ID, который был назначен приложению VK при создании
    appId: "MarusyaAppIdChangeMe"
    # OAuth-токен, который необходимо указывать при отправке уведомлений
    oauthToken: ""


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

mail:

smtp:

submitter — учетная запись e-mail;

password — пароль от учетной записи e-mail;

auth — проверка подлинности smtp (включена по умолчанию);

senderPrefix — имя отправителя;

host — адрес smtp-сервера;

port — smtp-порт сервера.


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

Установка
cd /etc/ansible-iot-1.26
ansible-playbook install_iot.yml


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

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


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

Содержимое файла конфигурации доступно в полной документации к Eltex SC.

Конфигурации для ядра: /etc/ansible-iot-1.26/templates/iot/default-for-docker.yml.j2 и веб-сервера: /etc/ansible-iot-1.26/templates/iot/web/base_config.

Директория хранения журналов работы платформы: /storage/iot/core/var/log/eltex-sc/server.log.

Первый вход на платформу Eltex SC

Для доступа к платформе через web-интерфейс используйте адрес сервера Eltex SC, указанный ранее в конфигурации /etc/ansible-iot-1.26/vars/default.yml.

  1. В адресной строке вашего браузера введите: http://[Адрес вашего сервера Eltex SC]. Откроется страница авторизации.
  2. Введите имя пользователя и пароль в соответствующие поля. Нажмите кнопку Войти.

Данные учетной записи «Администратор»:

Логин: admin
Пароль: Test18plat34Form

                                                                                                                                                                                                                                                


Более подробная документация доступна по ссылке Установка платформы v1.26 или в разделе «Документы и файлы» на официальном сайте ЭЛТЕКС: Платформа Eltex SC.
  • Нет меток