4.3. Запись

Мониторинг вещания в режиме реального времени предполагает контроль текущего состояния сервиса. Возможность записи сервиса позволяет зафиксировать состояние потока на определенный момент. Записать поток или OTT сервис можно вручную или настроив автоматическую запись по событиям.

Скачиваемая IPTV запись представляет собой ZIP-архив, в который вкладывается поток или Pcap-данные, а также подробное описание события-триггера в формате JSON. Запись OTT представляет собой разложенные по папкам наборы объектов (плейлисты, сегменты, инициализационные файлы) и описание всей структуры записи в формате JSON. Т.е. при создании OTT записи зонд не сохраняет непрерывный поток, а записывает сервис «как есть» для детального анализа. OTT запись зависит от режима анализа: в режиме AllRenditions записываются все доступные представления медиа-данных; в режиме Player записываются, соответственно, только те представления, которые в данный момент анализируются зондом.

Основные возможности:

  • Запись по любому триггеру системы;

  • Запись в формате Pcap;

  • Запись полной структуры сервисов HLS и DASH;

  • Полное JSON-описание сохраняемой записи;

  • Синхронная запись на нескольких зондах.

Ручная запись

Для запуска записи вручную перейдите на страницу необходимой задачи и выберите действие Запись. В открывшемся окне установите необходимую длительность и нажмите кнопку Начать запись. Как только начнется запись, в списке отобразится запущенный процесс. Для остановки записи используйте действие Cтоп. После завершения записи ее можно скачать, предварительно выбрав желаемый формат в столбце Действия.

../_images/TaskRecordWindow_ru.png

В окне Запись отображается информация о времени начала и конца записи, ее размере, условии срабатывания, статусе.

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

  • выполняется — ведется запись потока;

  • завершена — зонд завершил запись потока;

  • прервана — запись была неудачно завершена. Возможны следующие коды ошибок:
    • 100 — неизвестная причина;

    • 101 — задача была остановлена;

    • 102 — недостаточно места на диске;

    • 103 — запись запрещена для данного типа источника;

    • 104 — запись прекращена после аварийной остановки задачи;

    • 105 — запись прекращена после аварийной остановки зонда;

    • 110 — 119 — запись прекращена по инициативе сервера.

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

В столбце Действия представлены инструменты работы с данными:

  • downloadPcap — скачивание записи в формате Pcap (только для IPTV-вещания, протоколы UDP/RTP);

  • downloadIcon — скачивание записи в обычном формате записи (зависит от протокола потока);

  • deleteIcon — удаление записи.

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

Запись в формате Pcap

Pcap-запись позволяет анализировать доставку потоков IPTV-вещания. В случае если зонд не может проанализировать поток, Pcap запись зафиксирует точную копию сетевого трафика для последующего анализа. Зонд захватывает данные сетевых пакетов и записывает их в файл в режиме реального времени. Pcap-данные записываются как при автоматической записи, при детектировании состояния ошибки, так и при записи потока вручную. После окончания записи файл будет доступен для скачивания. Архив записи содержит JSON-файл описания и Pcap-дамп, в котором содержатся все заголовки сетевых протоколов, использованных для доставки потока, и временные метки приема пакетов зондом. Просмотр Pcap-файла возможен как в программе Wireshark, так и в другом программном обеспечении для мониторинга и сканирования сети, которое работает с форматом libpcap.

Для работы с Pcap-записями необходимо знать несколько базовых вещей:

  • Pcap-запись поддерживается только для IPTV-вещания (протоколы UDP/RTP);

  • В целях информационной безопасности скачивание записей в данном формате по умолчанию отключено (зонд может создавать Pcap записи, но они не могут быть скачаны через браузер). Необходимо остановить зонд или службу зонда, открыть конфигурационный файл зонда и присвоить параметру "allowDownloadPcapDump" значение true. Далее сохраните изменения и запустите зонд;

  • Для корректной работы Pcap записи необходимо запускать зонд с повышенными привилегиями. Для Windows: установите библиотеку NPcap и запустите зонд с правами администратора. Для Linux: запустите зонд с правами суперпользователя sudo ./streamMonitor.

Чтобы скачать данные в формате Pcap используйте действие downloadPcap.

Автоматическая запись

Описание

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

  • Автоматическая запись возможна для любых типов анализируемого потока: IPTV и OTT.

  • Запись может производиться в нескольких задачах зонда и в нескольких зондах одновременно.

  • Чтобы ошибка гарантировано попадала в запись, зонд использует пребуферизацию потока в оперативную память или на жесткий диск. Длительность пребуфера настраивается пользователем.

  • Когда состояние ошибки длится продолжительное время, запись осуществляется отрезками: в архив попадает начало и конец состояния.

  • Для IPTV потоков запись можно скачать как в Pcap, так и в MPEG-TS формате.

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

Настройка и запуск

Для организации автоматической записи необходимо:

  • Проверить и при необходимости изменить настройки системного профиля зонда;

  • Настроить профиль автоматической записи: задействовать и настроить необходимые триггеры, установить длительность записи после возникновения состояния и пребуферизации;

  • Применить профиль записи анализируемым задачам.

Настройка системного профиля

Перейдите к настройкам проекта и откройте вкладку Профили зондов. В блоке Запись представлены следующие настройки:

../_images/SystemProfileRecording_ru.png

Внимание

Запись осуществляется в папку record в директории запущенного зонда. Это означает, что запись осуществляется на тот раздел жесткого диска, откуда запущен зонд. Если необходимо перенести каталог записи в другой раздел, используйте механизм символических ссылок: symlink в Linux и Junction Points в Windows.
Будьте внимательны, зонд может удалять любое содержимое в папке record ! Не сохраняйте файлы в данную папку. Не используйте символические ссылки на папку, уже содержащую файлы.

На странице зонда в Системных ресурсах отображается занятое и общее дисковое пространство раздела на котором расположена папка record. Если по тем или иным причинам папка record отсутствует, зонд будет отображать размер раздела, в котором расположена папка с зондом.

  • Доступное место для записи — устанавливает объем памяти в мегабайтах, который используется для хранения записей. При достижении указанного объема памяти, в зависимости от настройки, самые старые записи будут удалены, либо запись новых данных будет приостановлена. По умолчанию равен 10000 Мб.

  • Ограничивать доступное место для записи если на диске осталось менее — устанавливает минимально допустимый объем памяти раздела жесткого диска в мегабайтах, при достижении которого запись новых данных будет приостановлена. По умолчанию равен 200 Мб.

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

  • Пребуферизация в — определяет расположение буфера записи: в оперативной памяти (RAM) или на жестком диске (HDD). При достаточном объеме оперативной памяти рекомендуется использовать пребуферизацию в RAM, чтобы не создавать избыточной нагрузки на относительно медленную систему HDD.

После настройки системного профиля сохраните изменения.

Настройка профиля записи

Откройте вкладку Пороги и Запись ➝ Запись. Создайте новый профиль и установите флажок «Разрешить запись».

../_images/RecordingProfile_ru.png

На данной странице доступна настройка следующих параметров записи:

  • Длительность пребуферизации — объем временного буфера на жестком диске или в оперативной памяти в секундах. Когда срабатывает триггер, содержимое буфера сохраняется и начинается запись потока. Архив с завершенной записью включает в себя запись потока во время пребуферизации и запись после срабатывания триггера. Пребуферизация не применяется для ручной записи.

  • Длительность записи после возникновения состояния — время записи после срабатывания триггера. Настройка не распространяется на триггеры типа «Событие», где общая длительность записи равна удвоенной длительности пребуферизации. Подробнее смотрите в разделе Длительность записи.

Далее задействуйте и настройте необходимые триггеры, которые будут запускать запись и сохраните изменения. Настройка триггеров записи аналогична настройке триггеров системы оповещения. Вы можете создавать несколько профилей для различных случаев записи.

Длительность записи

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

На графике представлены три разновидности записи в зависимости от продолжительности состояния и типа триггера:

../_images/RecordingSchema.png
Где:
Стрелки — начало и конец состояния;
Зеленый — длительность пребуферизации;
Голубой — длительность записи после возникновения состояния;
Серый — длительность события.
  1. Длительность события больше установленной длительности записи. В таком случае запись фрагментируется с целью сохранения места на жестком диске. В первый фрагмент записи (начало состояния) сохраняется пребуферизация и установленная пользователем Длительность записи после возникновения состояния. Во второй фрагмент (конец состояния) сохраняется удвоенная длительность пребуферизации. Таким образом можно отследить как момент возникновения состояния, так и момент его окончания с последующим восстановлением потока.

  2. Длительность события меньше установленной длительности записи. В таком случае создается непрерывная запись, длительность которой равна длительности события плюс двойная длительность пребуферизации.

  3. Сработал триггер типа «Событие». В таком случае длительность записи равна двойной длительности пребуферизации.

Подробнее с классификацией триггеров на «Состояния» и «События» можно ознакомиться на странице Триггеры.

Применение профиля записи задаче анализа

Откройте окно редактора Конфигурации запущенной задачи.

../_images/AddTaskRecordingProfile_ru.png

В разделе Профили настроек и уведомлений содержится информация о всех профилях задачи. Используйте действие выбрать профили для того, чтобы назначить задаче профиль записи. По нажатии кнопки «ОК» изменения будут сохранены, и профиль будет применен к задаче. Зонд начнет запись после срабатывания установленного триггера. Для одной задачи возможно назначить нескольких профилей записи. При запуске новой задачи профиль записи задается аналогичным образом.

Одновременная запись

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

Чтобы синхронизировать несколько задач достаточно задать для них одинаковый настроенный профиль записи и задать одинаковое Имя или Сервис.

Настройка профиля записи

Откройте вкладку Пороги и Запись ➝ Запись и выберите необходимый профиль записи. Установите флажок «Создание синхронных записей по». В выпадающем списке укажите способ, по которому система будет связывать задачи: по полю Name, по полю Service. Задайте триггеры, для которых необходимо начинать запись и сохраните изменения.

Запуск задач с синхронной записью

Для того чтобы связать несколько задач, установите для них одинаковое Имя или Сервис, в зависимости от выбранного в профиле записи способа связывания. Далее назначьте задачам одинаковый профиль записи. После сохранения изменений при срабатывании триггера будет начата запись для всех синхронизированных задач.

Примечание

Задачи, для которых необходимо назначить одновременную запись, могут принадлежать как одному, так и разным зондам в пределах одного проекта.

Чтобы убедиться, что задачи успешно связаны, вернитесь на страницу настройки профиля записи (Пороги и Запись ➝ Запись). Статистика по использованию профиля отображается в столбце Количество задач. По клику на количестве задач будет открыто окно «Использование профиля», которое содержит информацию об URI и именах задач, зондах и сервисах. Синхронизированные задачи графически объединены между собой. Для перехода к определенной задаче или зонду достаточно кликнуть на неё.

../_images/RecordProfileUsage_ru.png

Журналы и списки

Журналы записей

Информация о срабатывании триггеров, которые вызвали запись находится во вкладке Record журнала оповещений и записей.

На странице доступны управляющие элементы:

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

  • Пауза — кнопка приостановки обновления содержимого журнала.

  • Очистить журнал — кнопка очистки содержимого журнала. При ее нажатии появляется окно подтверждение действия, в котором вы можете установить флажок «Также удалить все физические записи на всех активных зондах», чтобы полностью удалить все записи со всех активных зондов.

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

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

  • iconDetails — окно деталей события. В окне можно найти детальную информацию о причинах срабатывания триггера и дополнительную информацию о записи;

  • infoIcon — окно деталей потока/сервиса. В окне отображаются вкладки с PSI таблицей потока, информацией о зонде и задаче, манифестом;

  • Стоп — принудительная остановка записи;

  • downloadPcap — скачивание записи в формате Pcap (только для IPTV-вещания, протоколы UDP/RTP);

  • downloadIcon — скачивание записи в обычном формате записи (зависит от протокола потока);

  • deleteIcon — удаление записи;

  • ConnectedTasks — окно просмотра записей синхронизированных задач.

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

../_images/SyncRecordsWindow_ru.png

Полужирным шрифтом выделен поток, который вызвал срабатывание триггера записи.

Журнал записи для определенной задачи можно просмотреть на странице задачи во вкладке TASK RECORDS внизу страницы.

Примечание

Данные в журнале хранятся 14 дней, после чего старые записи журнала автоматически очищаются. Однако, записи в зонде не удаляются (при наличии доступного места на жестком диске) и остаются доступными для скачивания через список записей на странице зонда или задачи.

Списки записей

Чтобы посмотреть все физические записи зонда, перейдите на страницу зонда и в строке «Список записей» кликните действие показать.

В списке отображаются записи всех задач зонда, в том числе сделанные вручную. Зонд хранит все записи в папке records до тех пор, пока на диске достаточно места. В случае если место на диске заканчивается, то зонд приостановит запись либо будет удалять старые записи, чтобы освободить место для новых.

  • iconDetails — окно Детали записи. В окне отображается время начала и окончания события, информация о записи и список синхронизированных задач;

  • Стоп — принудительная остановка записи;

  • downloadPcap — скачивание записи в формате Pcap (только для IPTV-вещания, протоколы UDP/RTP);

  • downloadIcon — скачивание записи в обычном формате записи (зависит от протокола потока);

  • deleteIcon — удаление записи;

  • ConnectedTasks — признак одновременной записи. Означает, что запись была инициирована синхронизированной задачей;

  • Удалить все записи — действие удаления всех записей. После подтверждения все физические записи будут удалены с зонда (папка records будет очищена).

Для продолжительных состояний запись фрагментируется, информация по каждому периоду фиксируется в столбцах Начало, Конец. Кроме этого, если процесс автоматической записи потока уже запущен и триггер срабатывает еще несколько раз, то создается несколько фрагментов записи. Например триггер записи вставки рекламного блока на MPTS потоке может сработать на коротком промежутке времени для разных программ. Фрагменты записи гарантировано покрывают начало и конец каждого зарегистрированного состояния. В колонке Условие срабатывания после названия триггера в скобках отображается количество срабатываний триггера. Для одновременной записи это число является суммой срабатываний триггеров по всем синхронизированным задачам.

Просмотреть список записей определенной задачи можно на странице задачи. В верхней части страницы кликните на действие ЗАПИСЬ.