Перейти к содержимому

Триггеры

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

Основное назначение триггеров — контроль состояния потока и автоматическая перезагрузка стрима при обнаружении проблем.

В системе предусмотрено два типа триггеров:

  • Статические
  • Динамические (кастомные)

Статические триггеры встроены в систему. В данный момент доступен один статический триггер — триггер анализа битрейта.

  • Имеет фиксированный ID = 1
  • Предустановлен в системе
  • Нельзя удалить
  • Можно назначать и снимать с каналов

Несмотря на название, триггер не анализирует и не сравнивает значения битрейта — он вообще не измеряет параметры потока какими-либо сторонними средствами (например, ffprobe). Единственный источник данных для него — текстовый вывод прогресса, который печатает сам процесс ffmpeg: триггер следит за полем time= в этом выводе (временная метка последнего обработанного кадра). Если эта метка перестаёт продвигаться от строки к строке лога — значит, ffmpeg завис, хотя процесс формально ещё работает, — и триггер расценивает это как зависание стрима.

В таком случае триггер автоматически выполняет перезагрузку стрима.

  1. Перейдите на страницу Триггеры

  2. Выберите триггер Битрейт

  3. В списке каналов отметьте галочками нужные каналы

  4. Сохраните изменения

После этого выбранные каналы будут автоматически контролироваться по битрейту.


Динамические триггеры позволяют создавать собственные правила анализа логов.

Система может:

  • искать вхождение подстроки в строке лога
  • проверять строку лога по регулярному выражению

При совпадении условия выполняется заданное действие (например, перезагрузка стрима).


Чтобы создать новый триггер:

  1. Перейдите на страницу Триггеры

  2. Нажмите Добавить триггер

    Добавление нового триггера со страницы Триггеры
  3. Укажите название триггера

  4. При необходимости включите опцию Регулярное выражение

  5. Введите текст для поиска в поле Сопоставление подстроки (или Регулярное выражение, если включили эту опцию выше — подпись поля меняется соответственно)

    Настройка нового триггера
  6. Сохраните триггер

  7. Выберите список стримов, к которым нужно применить данный триггер

После сохранения триггер начнёт анализировать логи выбранных потоков.