Сервис Eltex Polly предоставляет приложение для создания опросов на веб-портале при подключении hotspot-пользователей в схемах с ТД и BRAS.
Для демонстрации опроса сервис предоставляет web-интерфейс. Опрос представляет собой набор вопросов с вариантам ответов. Данные о пройденных опросах сохраняются в базе для последующего сбора статистики.
Управление опросами происходит в интерфейсе Конструктора порталов, настройки доступа к нему указываются в свойствах соответствующей роли в Личном кабинете.
Возможны две схемы работы сервиса Polly: с применением реверсного прокси, либо без него.
В первом случае перед порталом и Конструктором порталов необходимо установить nginx, который будет проксировать трафик к сервису Polly.
Во втором случае понадобятся дополнительные настройки точек доступа, а также понадобится открыть дополнительный порт в ядро SoftWLC из клиентской сети.
Схема с проксированием используется тогда, когда необходимо сохранить изоляцию контура ядра SoftWLC от клиентского трафика.
Рекомендуется схема работы с применением реверсного прокси nginx.
Для работы сервиса необходима установка схемы на сервер БД:
# apt install eltex-polly-db |
Установка сервиса:
# apt install eltex-polly |
Ниже представлена конфигурация nginx.
Подразумевается, что сервисы запущены на следующих портах:
Сервис | Порт |
---|---|
eltex-portal-constructor | 9001 |
eltex-portal | 9000 |
eltex-polly | 9089 |
В случае необходимости следует изменить адреса и порты в конфиге.
Если eltex-portal и eltex-portal-constructor установлены на разных хостах, то nginx необходимо установить на каждом из них и настроить соответствующие location.
server { listen 8080; listen [::]:8080; gzip off; proxy_cache_background_update on; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504; proxy_cache_revalidate on; proxy_cache_min_uses 2; client_max_body_size 25m; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; # Eltex Portal section location ~* /eltex_portal/(gif|jpeg|jpg|png|svg|js|css|fonts)/ { proxy_cache eltex_cache; proxy_ignore_headers Cache-Control Expires; proxy_cache_valid any 1h; # адрес eltex portal proxy_pass http://127.0.0.1:9000; } location ~* /eltex_portal/(portal/download/shared/[0-9]+|img/) { proxy_cache eltex_cache; proxy_ignore_headers Cache-Control Expires; proxy_cache_valid 404 302 304 5m; proxy_cache_valid any 24h; # адрес eltex portal proxy_pass http://127.0.0.1:9000; } location ~* /eltex_portal/(portal/download/private|portal)/ { proxy_cache eltex_cache; proxy_ignore_headers Cache-Control Expires; proxy_cache_valid 404 302 304 5m; proxy_cache_valid any 1h; # адрес eltex portal proxy_pass http://127.0.0.1:9000; } location /eltex_portal/ { proxy_pass http://127.0.0.1:9000; } location /eltex_portal/polly { rewrite ^(/eltex_portal)/(.*)$ /$2 break; proxy_cookie_path /polly /eltex_portal/polly; # адрес eltex polly proxy_pass http://127.0.0.1:9089; } # Eltex Portal Constructor section location ~* /epadmin/(portal/download/[0-9]+|portal/download/shared/[0-9]+|font-awesome|img|js|css) { proxy_cache eltex_cache; proxy_cache_valid any 24h; # адрес eltex portal constructor proxy_pass http://127.0.0.1:9001; } location /epadmin { proxy_pass http://127.0.0.1:9001; } location /ep-demo { proxy_pass http://127.0.0.1:9001; } location /epadmin/polly { rewrite ^(/epadmin)/(.*)$ /$2 break; proxy_cookie_path /polly /epadmin/polly; # адрес eltex polly proxy_pass http://127.0.0.1:9089; } location / { deny all; } } |
/etc/eltex-polly/application.conf - основной конфигурационный файл сервиса
access { secret = password } database { host = localhost port = 3306 name = eltex_poll user = javauser password = javapassword pool { # Time to wait for a connection connectionTimeout = 10s # Time to wait for connection validation validationTimeout = 3s min = 1 max = 5 } cache { enabled = true expireAfterWrite = 3m maximumSize = 500 } resources { readChunkSize = 256k writeChunkSize = 256k } } images { maxSize = 15MB cache { expireAfterWrite = 30s storagePath = /tmp/eltex-polly/cache/ } } |
/etc/default/eltex-polly - содержит параметры, необходимые для инициализации сервиса
# Eltex-Polly daemon parameters # HTTP Port for use by Eltex Polly HTTP_PORT=9089 GRPC_PORT=9088 # Initial size of Java heap JAVA_INIT_HEAP=16m # Maximum size of Java heap JAVA_MAX_HEAP=128m # Additional arguments to pass to java JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-polly" |
Необходимо включить интеграцию с сервисом опросов в системных настройках Конструктора порталов:
Здесь указываются настройки подключения к сервису опросов и общие настройки опросов.
Если используется схема с реверсным прокси nginx, то необходимо установить флаг "Включить сквозной прокси". В данном случае поле HTTP URL блокируется.
Если используется схема без реверсного прокси nginx, то необходимо снять флаг "Включить сквозной прокси", в поле HTTP URL ввести адрес вида http://<ip_address>:<port>, где ip_address это адрес сервера, на котором установлен сервис eltex_polly, а port это порт, соответствующий параметру HTTP_PORT конфигурационного файла /etc/defaut/eltex-polly.
Параметр GRPC хост определяет адрес сервера, на котором установлен сервис eltex-polly.
Параметр GRPC порт определяет порт, соответствующий параметру GRPC_PORT конфигурационного файла /etc/defaut/eltex-polly.
Параметр Секретный ключ соответствует параметру secret основного файла конфигурации /etc/eltex-polly/application.conf.
Для управления опросами нужно зайти в Конструктор порталов и выбрать необходимый портал.
В разделе Опросы доступен интерфейс для управления опросами:
В левой части указаны опросы, привязанные к выбранному порталу, в правой части указаны все опросы, доступные для управления.
Для создания опроса необходимо нажать на кнопку Создать опрос.
В открывшемся редакторе указываются следующие настройки:
Возможные типы вопросов:
Каждый вопрос может быть обязательным, для этого необходимо установить соответствующий флаг. Если вопрос помечен как обязательный, то пользователь обязан дать на него ответ, прежде чем сможет перейти к следующему вопросу. Чтобы подтвердить отправку результатов, все обязательные вопросы должны быть отвечены. Необязательные вопросы можно пропускать.
Сервис поддерживает использование изображений в вопросах. Поддерживаются следующие форматы изображений:
Максимальный размер загружаемого изображения задаётся в конфигурационном файле в параметре maxSize секции images.
На всех этапах работы с опросами доступен предварительный просмотр опросов. Нажатие на кнопку Просмотр открывает предварительный просмотр опроса в том виде, в котором его увидит пользователь:
Для просмотра статистики опроса необходимо выделить нужный опрос, после чего появится кнопка Статистика.
Статистика ответов на вопросы типов один из списка, один из списка (радио), несколько из списка отображается в виде круговой диаграммы. В легенде отображается не более 7 вариантов ответа. Если вариантов больше, то в легенду добавляется пагинация.
Если на вопрос можно дать собственный ответ, то эти ответы буду выведены в отдельный сектор (их количество будет учтено), а сами ответы будут приведены в отдельном списке под диаграммой:
Статистика ответов на вопросы с изображениями отображается в виде круговой диаграммы. В центре круговой диаграммы отображается изображение, соответствующее выбранному сектору. Чтобы открыть изображение в полном размере, необходимо щёлкнуть по нему.
Статистика ответов на вопросы типа текст отображается в виде обычного списка:
Статистика ответов на вопросы типа шкала отображается в виде гистограммы:
Есть возможность сбросить результаты статистики опроса, за это отвечает кнопка Сбросить.
Возможен экспорт статистики в формат CSV, за это отвечает кнопка Экспорт.
Настройка работы опросов в схеме с применением реверсного прокси nginx состоит из следующих шагов:
В качестве первого сценария необходимо указать URL-адрес в виде http://<portal-ip-address>:<portal_port>/eltex_portal/poll-redirect. Дальнейшие сценарии можно задать в стандартном виде (например, доступ в интернет в сценарии 2 в течение 1 минуты, третий сценарий - возврат на портал и повторная авторизация клиента).
Для корректной работы в тарифе должны присутствовать не менее двух сценариев |
Настройка работы опросов в схеме без применения реверсного прокси nginx состоит из следующих шагов:
В качестве первого сценария необходимо указать URL-адрес в виде http://<portal-ip-address>:<portal_port>/eltex_portal/poll-redirect, в список разрешённых хостов добавить адрес серевера, на котором установлен сервис eltex-polly. Дальнейшие сценарии можно задать в стандартном виде (например, доступ в интернет в сценарии 2 в течение 1 минуты, третий сценарий - возврат на портал и повторная авторизация клиента).
Для корректной работы в тарифе должны присутствовать не менее двух сценариев |
Настройка работы опросов происходит по аналогии с настройкой интеграции с рекламной площадкой HotWiFi.
Далее предполагается, что схема BRAS уже настроена, произведены необходимые настройки ESR. Если работающей схемы BRAS нет, необходимо обратиться к соответствующему руководству. |
Зайти в меню Настройки PCRF → Списки URL, создать список polly.
Список должен содержать адрес портала и URL для корректной работы AndroidConnectivityManager. Если есть корректно настроенный и работающий список для рекламной площадки Hot-WiFi, то можно использовать его вместо создания нового списка.
URL: |
Необходимо следить за корректным назначением тарифов. Возможно появление ошибок на портале в следующих случаях:
|