Настройка сокет-сервера в виджете "Автообновление"

Добрый день! Появилась необходимость отправлять события с сервера для обновления данных на дашборде. Однако не нашёл следющую информацию:

  1. Как указать адреса сервера, отправляющего сообщения? Хватит ли только ip адреса и порта? На своём сервере я хочу использовать авторизацию, чтобы получить данные мог только авторизованный клиент.
  2. Существуют ли открытые API у Insight’a для виджета “автообновление”? В каком формате должны приходить данные с сервера сообщений на клиент?

Открытого апи у нас нет и в данном функционале он не предусмотрен, тк для работы используется сокет сервер
А по поводу авторизации - настроить ее через сокет сервер нельзя. Вся авторизация настраивается либо в редакторе, либо в плеере, так что ограничивать контент нужно именно этими авторизациями.

1 лайк

Далее подробные руководства по настройке будут

1 лайк

Установка сокет сервера

  1. Необходимо установить среду выполнения кода на JavaScript
    sudo yum install –y nodejs
  2. Проверка установленных сред выполнения и версий пакетного менеджера для JavaScript
    node --version

1

npm –version

2

  1. Установка дополнительных пакетов
    npm install express
    npm install socket.io
  2. Для удобства управления возможно установить программу управления процессами node.js
    npm install pm2 –g
  3. При небходимости необходимо открыть порты на сервере
    firewall-cmd --add-port=3000/tcp --permanent
    firewall-cmd –reload
  4. Далее необходимо перейти в папку с файлами сервера и запустить сокет-сервер
    pm2 --name server start npm – start

3

  1. Для проверки состояния сокет-сервера используется команда
    pm2 logs

4

  1. При необходимости остановки сервера используется команда
    pm2 delete <id процесса>
1 лайк

Виджет Автообновление представляет собой виджет, который отправляет событие для обновления виджетов с датасетами по 2 триггерам:

  • По таймеру (указанному в настройках интервалу времени)
  • По событию от сервера сообщения

Панель настроек:

  • Сокет сервер - поле для ввода хоста и порта для сокет сервера клиента.

  • Автообновление в редакторе- свитч, позволяющий регулировать работу виджета в Редакторе. Включенный режим предполагает обновление данных по событию/таймеру на уровне Редактора. Отключенный режим предполагает обновление данных только в режиме Плеера.

  • Общий таймер - поле для ввода интервала для отправки событий по таймеру. В этом поле задается таймер для всех состояний, у которых включен свитч “отправлять событие по таймеру” и не проставлен свой “Таймер (сек)”.

  • Добавить действие - кнопка, добавляющее действие для событий. Содержимое действия:
    image

  • Сообщение с сервера - поле для выбора одного из поступивших от сокет-сервера сообщений

  • Отправлять событие по таймеру - настройка, которая включает/выключает возможность отправки события по таймеру.

  • Таймер - настройка для ввода интервала отправки событий по таймеру. Если поле не заполнено, то значение таймера берется из настройки “Общий таймер” (см.выше).

  • Событие - поле для ввода названия событий, которые будут отправляться по таймеру. Для того, чтобы записать событие, Событие требуется вписать его в поле и нажать enter.

  • Переменные - настройка для сохранения в хранилище связок ключей-значений:
    image

image

image

1 лайк