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

2.1.1. Введение

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

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

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

  • Рекомендуется распаковывать архив непосредственно на целевом сервере с ОС Linux. Если архив был распакован в OC Windows, то при дальнейшем копировании файлов в ОС Linux в скриптах инсталляции не сохраняются флаги исполняемости. Чтобы восстановить атрибуты файла, используйте следующую команду: chmod +x <scriptName.sh>

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

Для увеличения надежности хранения данных рекомендуется использовать массив дисков RAID 1. А при большом количестве входных потоков от зондов, требуется учитывать IOPS (количество операций ввода-вывода в секунду) системы хранения, что может потребовать переход на твердотельные носители и/или использование более сложных массивов: RAID 5(6,10). Переход на SSD-накопитель однозначно рекомендуется при увеличении количества задач до 1000.

Трафик

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

  • 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. nginx - для установки web-сервера [http://nginx.org/packages/rhel/8/$basearch/];

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

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

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

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

TMP_DIR="$(mktemp -d)"
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 сервера.

  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-сертификата:

../_images/fillingCsrForm.png
*Country - страна, в которой располагается сервер;
State - область/регион;
*City - город;
*Organization - название компании;
Department - название отдела;
*Server hostname or IP - публичный IP или доменное имя сервера, для которого должен быть выпущен сертификат;
*Email - Email-адрес контактного лица в компании заказчика.

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

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

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

  • xxxxxxxxxxx.limit.cert.pem (Limit certificate)

  • xxxxxxxxxxx.cert.pem (Https certificate)

Необходимо загрузить сертификаты в соответствующие поля и нажать кнопку Upload Certificates:

../_images/certificateUploading.png

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

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

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

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

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