2.1. Установка Boro Solution

2.1.1. Введение

Данная глава описывает подготовку сервера и процедуру самостоятельной установки ПО Boro Solution Server.

Необходимо знать

  • Ссылки на скачивание архива для установки сервера Boro Solution Server предоставляются командой технической поддержки Elecard по запросу.

  • Необходимо распаковывать архив непосредственно на целевом сервере с ОС Linux. Распаковка в OC Windows и дальнейшее копирование файлов в ОС Linux может привести к негативным последствиям, в том числе повреждению симлинков, удалению флагов исполняемости в скриптах инсталляции, увеличению размера установочного пакета за счет создания ненужных копий файлов. С большой вероятностью пакет установки станет неработоспособным.

  • Перед запуском автоматической установки требуется задать пользовательские настройки в сценариях (скриптах) инсталляции. Для этого необходимо использовать текстовый редактор на целевом сервере, который не вносит непредвиденных изменений в файл (например заменяет символы пробела на знаки табуляции и пр.). Нельзя редактировать скрипты в Windows из-за проблемы несовместимости символов перевода строки.

  • При установке сервера необходимо иметь доступ в интернет для скачивания требуемых пакетов. Скорость установки зависит от скорости сети и CPU. Время установки ориентировочно составляет 20-30 минут.

  • При установке сервера может понадобиться доступ к определенным репозиториям, которые не установлены в системе по умолчанию (см. раздел Установка сервера).

2.1.2. Подготовка сервера

Выбор платформы

Перед инсталляцией ПО Boro Solution Server необходимо определиться с платформой, на которую будет установлено программное обеспечение. Системные характеристики платформы напрямую влияют на производительность будущей системы, а также на её способность принимать и обрабатывать статистические данные. Так, для обработки 300-500 входных потоков аналитических данных, приходящих от зондов, потребуется платформа со следующими характеристиками:

  • CPU 4 ядра 3GHz

  • RAM 16GB

  • HDD 1TB

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

Размер дискового пространства

Для установки и корректной работы операционной системы и ПО Boro Solution Server необходимо иметь минимум 100 Гбайт свободного пространства.

Дополнительно Boro Solution Server использует базу данных для хранения эскизов, статистики и прочей информации. Рекомендуется использовать отдельный раздел жесткого диска или раздел на специально выделенном дисковом массиве для размещения базы данных. Размер базы данных может быть довольно большим и прямо пропорционален глубине хранения данных.

Необходимое дисковое пространство можно оценить, как 100 Мбайт на одну анализируемую задачу в сутки. Однако занимаемое пространство сильно зависит от частоты захвата эскизов

100 Мбайт - минимальный объем дискового пространства, рассчитанный на мониторинг с использованием настроек по умолчанию (захват эскизов каждые 10 с.). При сокращении интервала захвата эскизов до 1 секунды, суточный объем вырастает до 250-370 Мбайт, при этом доля объёма занимаемого эскизами достигает 90-95%. При захвате эскизы сохраняются в формате jpeg и масштабируются до 128 пикселей в ширину (по высоте количество пикселей зависит от соотношения сторон оригинального видео). Средний размер единичного эскиза составляет 4-5 Кбайт. Таким образом, при частоте захвата эскизов каждую секунду, рекомендуемый для расчетов объем составляет 400 Мбайт на одну задачу в сутки.

Статистика для анализируемых задач хранится в течение 14 дней, однако следует учитывать, что статистика за текущий день накапливается отдельно. К концу дня суммарная глубина хранения достигнет 15 дней, прежде чем наступит ежедневная очистка данных. Таким образом, ориентировочный объем для хранения статистики для 100 потоков в течение 14 дней составляет 150 Гбайт дискового пространства при настройках задач по умолчанию.

Для итоговой оценки объема следует учитывать следующие факторы:

  • Тип анализируемого сервиса. При мониторинге OTT сервисов для хранения статистики требуется на 20-25% больше пространства в сравнении с мониторингом IPTV задач. Важно: анализ каждого медиапредставления OTT сервиса является отдельной задачей; при анализе MPTS создается объем данных, приблизительно равный объему при анализе каждой программы отдельно. Необходимо учитывать эти факторы при подсчете общего числа задач, как и выбранный режим анализа (Player/AllRenditions) для OTT сервисов.

  • Рабочие логи сервера. При частом захвате эскизов увеличивается объем логов, генерируемых Boro Solution Server. Дополнительно для логов сервера может потребоваться от 10 до 20 Гбайт.

Необходимо брать в расчет именно количество лицензионных потоков, так как этот показатель отражает нагрузку на серверную часть. При большом количестве потоков, исходящих от зондов, требуется учитывать IOPS системы хранения. В этом случае может потребоваться переход на твердотельные накопители и (или) использование более сложных массивов RAID 5(6,10):

  • SSD (SATA) при 500–600+ потоках;

  • NVMe (PCIe) при 2000–2500+ потоках.

Для увеличения надежности хранения данных рекомендуется использовать массив дисков RAID 1.

Трафик

Исходящий трафик:

  • 23/UDP - NTP;

  • 25/TCP - протокол отправки e-mail сообщений (SMTP);

  • 53/TCP/UDP - DNS;

  • 80/TCP - Webhook и Telegram оповещения;

  • 443/TCP - Webhook и Telegram оповещения.

Входящий трафик:

  • 80/TCP (обязательный) - для коммуникации браузера клиента с сервером;

  • 8443/TCP (обязательный, по умолчанию) - коммуникация зонда с Boro Solution Server;

  • 3478/UDP/TCP/SCTP, 3479/UDP/TCP/SCTP (по умолчанию) - для организации peer-to-peer соединения между зондом и браузером для скачивания записей.

Примечание

Для организации peer-to-peer соединения между браузером и зондом (WebRTC) используются случайные порты. В случае если брандмауэр блокирует случайные порты, коммуникация будет осуществляться через TURN-сервер (по порту 3478).

Суммарный трафик между сервером и зондом:

Для оценки можно использовать величину 10 кбит/с на один поток данных (одна программа, одно медиа-представление, один вариант потока). В наибольшей степени средний трафик зависит от частоты захвата эскизов и размера медиа плейлистов в HLS.

Установка операционной системы

Boro Solution Server поддерживает следующие операционные системы:

  • Rocky 8/AlmaLinux 8/RHEL 8 (Minimal Install)

Внимание

Сценарий автоматической установки Boro Solution Server поддерживает только указанные ОС. Установка на ОС MS Windows невозможна.

При установке операционной системы:

  1. достаточно создать аккаунт суперпользователя, все необходимые аккаунты будут созданы при автоматической установке приложения Boro Solution Server;

  2. если нет специфических требований, используйте файловую систему ext4 или xfs.

Чтобы обновить пакеты, установленные в операционной системе, используйте команду:

sudo dnf update

2.1.3. Установка Boro Solution Server

Дополнительные требования

Важно: следующие репозитории будут автоматически добавлены в операционную систему при выполнении скрипта установки:

  1. pgdg - для установки PostgreSQL [https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm];

  2. epel - для установки STUN/TURN сервера (опционально) [https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm].

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

  1. Скачайте архив и скопируйте его на сервер, на который нужно установить Boro Solution Server. Архив может быть загружен в любую директорию.

    Внимание

    Не распаковывайте архив под ОС Windows перед копированием. В результате потери флагов и симлинков с большой вероятностью пакет установки станет неработоспособным.

  2. Создайте временную директорию и распакуйте архив, используя следующие команды:

TMP_DIR="$(mktemp -d)"
sudo dnf install -y tar
tar -C "$TMP_DIR" -xf "/PATH/TO/BoroSolution.install_VERSION.DATE.NUM.tgz"
  1. Откройте скрипт «$TMP_DIR»/boro_install_variables.sh в текстовом редакторе и измените значения следующих переменных:

  • SERVER_PUBLIC_NAME=server.boro (обязательное поле) - доменное имя или IP-адрес сервера.

  • Если используется прокси-сервер для доступа в интернет, раскомментируйте следующие строки и укажите адрес вашего прокси-сервера:

    # export http_proxy=http://192.168.1.1:3128
    # export https_proxy=http://192.168.1.1:3128
    
  • DB_DEST_DIR=/home - путь, куда будет перенесена БД (папка pgsql) при установке. По умолчанию БД устанавливается в ./home. БД может занимать существенное дисковое пространство (зависит от числа задач и глубины хранения данных), поэтому при необходимости вы можете указать иное место расположения файлов базы данных.

    Внимание

    Не следует указывать в качестве пути домашнюю директорию какого-либо пользователя, поскольку это приведёт к недоступности файлов/папок для базы данных.

    Вы можете использовать следующие полезные команды для просмотра информации о разделах:

    # Разделы, их размер и точки монтирования:
    df -T | grep -Ev 'tmpfs|loop|overlay'
    # Информация о блочных устройствах:
    lsblk -e 7
    
  • # export NTP_SERVER=172.16.1.9 (опциональное поле) - доменное имя или IP-адрес NTP-сервера для синхронизации времени службой chronyd. Чтобы добавить новый сервер для синхронизации, раскомментируйте строку и укажите адрес. Доменное имя может быть указано одним из следующих способов: export NTP_SERVER=server_name, export NTP_SERVER="server_name", export NTP_SERVER='server_name'.

    Внимание

    Точная дата и время является важным условием для корректной работы Boro Solution Server. Использование NTP-сервера является обязательным требованием.

  • # export INSTALL_TURNSERVER=0 - раскомментируйте данную строку для отключения установки STUN/TURN сервера.

  • # export INSTALL_HASP=1 - раскомментируйте данную строку для установки драйверов защиты HASP. Использование USB ключа в качестве дополнительного элемента лицензирования оговаривается на этапе обсуждения поставки ПО. При необходимости установить драйверы защиты можно и после установки Boro Solution Server.

  1. Запустите скрипт установки Boro Solution Server от суперпользователя:

sudo "$TMP_DIR/install.sh"

Установка проводится в несколько этапов, для каждого из которых отслеживается прогресс. После завершения установки на экране появится надпись FINISH и отобразится статус установленных служб:

../_images/installedServices.png

Как только сервер будет установлен, в директории со скриптом создастся архив с логами установки $TMP_DIR/BoroSolution.install_log.YYYY-MM-DD.UNIX_TIMESTAMP.txt. Если во время установки возникли проблемы, необходимо отправить этот файл команде технической поддержки Elecard.

Для удаления временных файлов после успешной установки сервера используйте команду:

[ "${TMP_DIR#/}" -a -d "$TMP_DIR" ] && sudo rm -rf "$TMP_DIR"
  1. Откройте в браузере страницу http://SERVER_PUBLIC_NAME/users/sign_in , где вместо SERVER_PUBLIC_NAME введите указанный в boro_install_variables.sh IP-адрес или доменное имя сервера. После установки сервер имеет единственную учетную запись по умолчанию, используйте следующие данные для входа:

    admin@admin.com - e-mail встроенного пользователя
    adm1n678 - пароль для входа

Примечание

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

2.1.4. Установка сертификатов

Сертификаты предназначены для установки приобретенной лицензии на сервер и для организации шифрованного канала между зондом и сервером по протоколу https. Для установки лицензии необходимо выполнить несколько шагов и произвести обмен сертификатами с командой технической поддержки Elecard:

  1. Перейдите во вкладку управления сертификатами http://SERVER_PUBLIC_NAME/admin?tab=certificates и заполните поля для создания CSR-сертификата:

  • Страна — страна, в которой располагается сервер;

  • Регион — область или регион страны;

  • Город — город;

  • Организация — название организации;

  • Подразделение — название подразделения;

  • Доменное имя или IP-адрес — IP-адрес или доменное имя сервера, для которого должен быть выпущен сертификат;

  • Email — email-адрес контактного лица в организации.

Поля, отмеченные звездочкой, обязательны для заполнения.

../_images/fillingCsrForm_ru.png

После заполнения полей нажмите на кнопку Создать CSR. Полученный сертификат отправьте инженерам Elecard.

  1. Получите сертификаты от команды технической поддержки Elecard:

  • xxxxxxxxxxx.limit.cert.pem (Limit-сертификат) — хранит лицензионные ограничения, например срок действия тестового периода, число каналов, информацию для соединения с HASP-ключом и т.д.

  • xxxxxxxxxxx.cert.pem (HTTPS-сертификат) — предназначен для шифрования соединения зонда с сервером, а также защиты от соединения сервера с нелицензионным зондом или выполнения нелицензионного запроса.

Загрузите сертификаты в соответствующие поля и нажмите на кнопку Загрузить сертификаты.

../_images/certificateUploading_ru.png

Страница обновится, и сертификаты будут применены (отобразятся детали и статус лицензии).

2.1.5. Первичное тестирование

Первичным тестированием установки является успешный вход на сервер под встроенной учетной записью admin@admin.com.

На втором этапе необходимо осуществить попытку запуска зонда (на отдельном компьютере).

Если возникают сложности на этих этапах, свяжитесь с командой технической поддержки Elecard.