Skip to content

Мониторинг DVR

Дашборды DVR в Retroview показывают, как работает архив: успевает ли сервер записывать потоки, отдаёт ли хранилище данные при просмотре, и какие каналы создают основную нагрузку.

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

Рабочий порядок такой: сначала смотрите обзорные тепловые карты с проблемными потоками, затем агрегированные графики по серверу, и только после выбора конкретного канала — детальные панели внизу дашборда.

Проблемы записи архива

Панель Top N streams with dvr write issues — главная точка входа для диагностики записи.

Это тепловая карта: по вертикали — потоки с наибольшим числом проблем записи, по горизонтали — время. Цвет ячейки показывает, сколько инцидентов записи было за интервал:

  • зелёный — меньше одного, норма;
  • светло-зелёный — от 1 и выше, единичные сбои;
  • жёлтый — от 10, заметная проблема;
  • оранжевый — от 50, серьёзная деградация;
  • красный — от 100, критическая ситуация.

Наверх поднимаются потоки, у которых больше всего проблем за выбранный период. Рекомендуется менять временной диапазон: узкий (1–3 часа) покажет свежие инциденты, широкий (сутки и больше) — периодичность и нарастающие тренды.

Сценарии использования:

  • Увидеть, что на сервере появились жёлтые и оранжевые блоки, выбрать поток с верхней строки и перейти к детальной диагностике
  • За несколько дней заметить, что одни и те же каналы регулярно попадают в топ — искать системную причину (перегрузка диска, сетевое хранилище, слишком много потоков на сервере)
  • Сопоставить всплески с ошибками записи на диск на дашборде Server Stats

Что означают типы проблем записи (подробнее — в разделе Состояние записи дашборда захвата):

  • discontinuity — разрывы во временной шкале потока, архив будет с дырками при воспроизведении
  • slow и delayed — запись прошла, но слишком долго; хранилище на пределе
  • collapsed — несколько сегментов записали одним блоком; диск не успевает
  • skipped — сегменты выброшены, видео потеряно
  • failed — запись в хранилище завершилась ошибкой

Настройте алерт: Алерт на проблемы с дисками предупредит о collapsed writes до появления failed writes с потерей архива.

Проблемы чтения архива

Панель Top N streams with dvr read issues показывает потоки, при просмотре архива которых чаще всего возникают ошибки.

Устройство такое же, как у карты проблем записи: потоки сортируются по числу инцидентов, цветовая шкала — от < 1 до 100+.

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

Сценарии использования:

  • Абоненты жалуются на «архив не открывается» или «видео обрывается» — найти канал на этой карте и спуститься к деталям
  • Увидеть одновременный рост ошибок чтения на многих потоках — вероятна общая проблема хранилища или сети, а не отдельного камеры
  • Отличить поток с единичным красным блоком (разовый инцидент) от потока с непрерывной жёлтой полосой (хроническая проблема)

Типы ошибок чтения:

  • enoent — запрошенный сегмент архива не найден на диске. Частая причина: запись не успела, сегмент был пропущен, или архив на другом сервере ещё не реплицировался
  • slow и delayed — сегмент найден, но чтение идёт слишком долго; диск или сеть не справляются
  • failed — чтение завершилось ошибкой ввода-вывода
  • fast — нормальное быстрое чтение, этой линии на графике быть не должно вместе с ошибками

Популярные потоки при чтении архива

Панель Top N popular DVR read streams показывает, какие каналы чаще всего смотрят из архива.

Здесь цвет отражает не ошибки, а количество одновременных чтений архива по потоку:

  • зелёный — меньше одного, поток почти не смотрят из архива;
  • светло-зелёный — от 1, единичные просмотры;
  • оранжевый — от 10, заметная нагрузка;
  • тёмно-оранжевый — от 50, высокая нагрузка;
  • розовый — от 100, пиковая популярность.

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

Сценарии использования:

  • Планировать распределение нагрузки: вынести популярные архивы на отдельные серверы или быстрые диски
  • Объяснить всплеск ошибок чтения в прайм-тайм: зрители массово открывают архив популярных передач
  • Найти «тихие» потоки с большим архивом, но без просмотров — кандидаты на перенос или сокращение глубины хранения

Обзор по серверу: Input status

Блок Input status даёт агрегированную картину по всему серверу: входящий трафик, запись и чтение архива.

Общий входящий битрейт

График Total Input bitrate показывает суммарный входящий трафик на сервер:

  • input_bytes — весь входящий трафик, включая лайв и запись в архив;
  • input_bytes_dvr — доля трафика, связанная именно с DVR (репликация, догрузка архива с других серверов и т.п.).

Резкое падение input_bytes при стабильном числе потоков — признак массовых обрывов источников. Рост input_bytes_dvr без роста лайва может означать активную репликацию или массовый просмотр архива с удалённого хранилища.

Производительность записи на сервере

График DVR write performance on server — сводка по всем потокам:

  • fast — нормальная быстрая запись, должна доминировать;
  • slow, delayed, collapsed — нарастающая деградация, хранилище не успевает;
  • skipped, failed — потеря данных, требуется срочное вмешательство;
  • discontinuity — разрывы во входящем потоке, архив будет с пропусками.

Шкала логарифмическая: даже «небольшие» всплески collapsed или delayed на этом графике стоит воспринимать серьёзно, если они повторяются.

Источники чтения архива

График DVR read source показывает, откуда сервер читает сегменты при просмотре:

  • ram — из оперативной памяти (самый быстрый путь);
  • cache — из локального кэша на диске;
  • local — с локального хранилища DVR;
  • remote — с удалённого хранилища или другого сервера.

Преобладание remote при частых ошибках enoent на соседнем графике может указывать на проблемы сети или репликации между серверами. Рост local в часы пик — нормальная картина при активном просмотре архива.

Производительность чтения на сервере

График DVR read performance on server — сводка ошибок и задержек при чтении:

  • fast — норма;
  • slow, delayed — хранилище тормозит;
  • enoent — сегмент не найден;
  • failed — ошибка ввода-вывода.

Если на сервере доминирует enoent, а не slow, проблема скорее в целостности архива (запись не успевала, сегменты пропущены), а не в скорости дисков.

Популярность архива по возрасту контента

Два следующих элемента показывают, какой именно архив смотрят — свежий или старый.

График DVR read popularity

Линии на графике DVR read popularity on server разбиты по возрасту просматриваемого контента:

  • today — сегменты, записанные сегодня;
  • yesterday — вчерашний архив;
  • week — за последнюю неделю;
  • other — старше недели.

В типичном сервисе с глубиной архива в несколько дней основная нагрузка приходится на today — зрители смотрят недавние записи, перематывают эфир, открывают архив текущих передач. Заметная доля other говорит о том, что пользователи активно ходят в глубокий архив; это увеличивает нагрузку на чтение и требует более быстрых дисков или кэширования.

Таблица DVR Usage by Content Age

Таблица DVR Usage by Content Age даёт те же данные в числах:

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

Таблица удобна для отчётов и для сравнения «до и после» изменений в инфраструктуре: например, после переноса популярных каналов на другой сервер.

Детали потока: запись

После выбора конкретного потока вверху дашборда в группе Stream details появляются панели с детализацией по этому каналу.

Битрейт входа потока

График Stream input bitrate для выбранного потока:

  • input_bytes — текущий входящий битрейт;
  • input_bytes_dvr — трафик, связанный с DVR для этого потока (например, приём реплицированного архива).

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

Производительность записи потока

График DVR write performance для выбранного потока показывает те же метрики, что и серверный сводный график, но только для одного канала.

Именно здесь удобно разбирать конкретный случай из тепловой карты dvr write issues: видно, какие именно типы ошибок преобладают и в какие моменты времени.

  • Частые discontinuity без failed — чинить источник или сеть до камеры
  • Рост collapsed и delayed при стабильном входе — разгружать диски, менять хранилище
  • Появление skipped или failed — срочно, архив уже теряется

Детали потока: чтение архива

Для выбранного потока доступны панели чтения архива.

Популярность чтения

График DVR read popularity показывает интенсивность просмотра архива этого канала с разбивкой по возрасту контента (today, yesterday, week, other).

Сопоставьте его с картой dvr read streams: если поток в топе популярности и одновременно в топе ошибок чтения — нагрузка от просмотра, вероятно, перегружает хранилище именно на этом канале.

Производительность чтения

График DVR read performance (в интерфейсе может отображаться как «DVR read perfomance») показывает качество выдачи архива:

  • fast — нормальное чтение;
  • slow, delayed — тормоза хранилища;
  • enoent — запрошенный сегмент отсутствует;
  • failed — ошибка чтения с диска.

Если при активном просмотре (зелёная линия today на соседнем графике) доминирует enoent, зрители пытаются открыть архив, которого физически нет — проверьте график записи этого же потока: скорее всего, запись не успевала или сегменты были пропущены. Если доминируют slow и delayed при нулевом enoent — диски не справляются с нагрузкой чтения, но данные на месте.

Сценарии использования:

  • Жалоба на конкретный канал: выбрать поток, сопоставить популярность и ошибки чтения по времени
  • После инцидента с дисками: убедиться, что enoent сошёл на нет — архив снова целостен
  • Перед переносом канала на другой сервер: оценить реальную нагрузку чтения по графику популярности