Документация на Flussonic Media Server

  1. Быстрый старт
  2. How-to
  3. Потоковое вещание
    1. Варианты источников
    2. Переключение источников
    3. Публикация на Flussonic
    4. Прием мультикаста
    5. Серверные плейлисты
    6. Микширование
    7. Захват с SDI
    8. Отправка на другие серверы
    9. Распознавание DVB субтитров
    10. Наложение логотипа
  4. Транскодер
    1. Логотип
    2. Hardware (Nvidia NVENC)
    3. Hardware (Intel Quick Sync Video)
    4. Скриншоты
    5. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
    4. Widevine
    5. PallyCon
    6. EzDRM
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
    4. Мультибитрейтный VOD из файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. Multicast
    11. Multicast с постоянным битрейтом
    12. WebRTC
    13. H.265
  12. Администрирование
    1. Установка
    2. Обновление
    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов
    6. Реклама

SNMP

Во Flussonic Media Server есть базовая реализация SNMP. Она позволяет отслеживать разные параметры, например, сколько ресурсов потребляют видео-потоки Flussonic.

Она включается в конфигурационном файле Flussonic следующим способом:

snmp 4000;

edit_auth ADMIN PASSWORD;

Примените настройки:

/etc/init.d/flussonic reload

Теперь на порту 4000 Flussonic будет отвечать по SNMP.

snmpwalk

Чтобы прочитать данные SNMP, выполните такие команды:

apt-get -y install snmp snmp-mibs-downloader

cd /opt/flussonic

snmpwalk -c ADMIN -v 2c -M +apps/snmp2/mibs/ -m +FLUSSONIC-MIB 127.0.0.1:4000 .

Здесь snmpwalk — утилита для диагностики установленной системы SNMP.

Опция -c ADMIN означает "community" в терминах SNMP. SNMP community равен логину администратора Flussonic.

Пример

Если все настроено правильно, то утилита snmpwalk даст ответ такого вида:

# snmpwalk -c flussonic -v 2c -M +apps/snmp2/mibs/ -m +FLUSSONIC-MIB 127.0.0.1:4000 .
Created directory: /var/lib/snmp/mib_indexes
SNMPv2-MIB::sysDescr.0 = STRING: Flussonic 19.05
SNMPv2-MIB::sysObjectID.0 = OID: FLUSSONIC-MIB::flussonicModule
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (81590) 0:13:35.90
SNMPv2-MIB::sysContact.0 = STRING: info@erlyvideo.org
SNMPv2-MIB::sysName.0 = STRING: Flussonic
SNMPv2-MIB::sysLocation.0 = STRING: Erlang
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::snmpInPkts.0 = Counter32: 1186
SNMPv2-MIB::snmpInBadVersions.0 = Counter32: 0
SNMPv2-MIB::snmpInBadCommunityNames.0 = Counter32: 6
SNMPv2-MIB::snmpInBadCommunityUses.0 = Counter32: 0
SNMPv2-MIB::snmpInASNParseErrs.0 = Counter32: 0
SNMPv2-MIB::snmpEnableAuthenTraps.0 = INTEGER: enabled(1)
SNMPv2-MIB::snmpSilentDrops.0 = Counter32: 0
SNMPv2-MIB::snmpProxyDrops.0 = Counter32: 0
FLUSSONIC-MIB::streamsNum.0 = Gauge32: 2
FLUSSONIC-MIB::sIndex.1 = INTEGER: 1
FLUSSONIC-MIB::sIndex.2 = INTEGER: 2
FLUSSONIC-MIB::sName.1 = STRING: mc1
FLUSSONIC-MIB::sName.2 = STRING: tra
FLUSSONIC-MIB::sClientCount.1 = Gauge32: 1
FLUSSONIC-MIB::sClientCount.2 = Gauge32: 0
FLUSSONIC-MIB::sRetryCount.1 = Gauge32: 0
FLUSSONIC-MIB::sRetryCount.2 = Gauge32: 0
FLUSSONIC-MIB::sLifeTime.1 = Counter64: 809863
FLUSSONIC-MIB::sLifeTime.2 = Counter64: 804257
FLUSSONIC-MIB::sBitrate.1 = Counter64: 8657
FLUSSONIC-MIB::sBitrate.2 = Counter64: 4178
FLUSSONIC-MIB::sBytesIn.1 = Counter64: 900131893
FLUSSONIC-MIB::sBytesIn.2 = Counter64: 453771011
FLUSSONIC-MIB::sBytesOut.1 = Counter64: 0
FLUSSONIC-MIB::sBytesOut.2 = Counter64: 0
FLUSSONIC-MIB::sStatus.1 = INTEGER: active(1)
FLUSSONIC-MIB::sStatus.2 = INTEGER: active(1)
FLUSSONIC-MIB::totalClients.0 = Gauge32: 1
FLUSSONIC-MIB::schedulerLoad.0 = Gauge32: 0
SNMPv2-MIB::snmpSetSerialNo.0 = INTEGER: 362871239
SNMP-FRAMEWORK-MIB::snmpEngineID.0 = STRING: "flussonicID"
SNMP-FRAMEWORK-MIB::snmpEngineBoots.0 = INTEGER: 1
SNMP-FRAMEWORK-MIB::snmpEngineTime.0 = INTEGER: 816 seconds
SNMP-FRAMEWORK-MIB::snmpEngineMaxMessageSize.0 = INTEGER: 484
SNMP-MPD-MIB::snmpUnknownSecurityModels.0 = Counter32: 0
SNMP-MPD-MIB::snmpInvalidMsgs.0 = Counter32: 0
SNMP-MPD-MIB::snmpUnknownPDUHandlers.0 = Counter32: 0
SNMP-MPD-MIB::snmpUnknownPDUHandlers.0 = No more variables left in this MIB View (It is past the end of the MIB tree)

В данной SNMP таблице есть объекты, которые относятся к Flussonic (FLUSSONIC-MIB) и содержат данные о потоках, такие как имя потока (FLUSSONIC-MIB::sName), количество запросивших клиентов (FLUSSONIC-MIB::sClientCount), время активности потока (FLUSSONIC-MIB::sLifeTime) и т.д.

Потоки пронумерованы .1, .2, и т.д.

Поясним объекты, которые могут вызвать вопросы:

  • FLUSSONIC-MIB::sStatus

    Возвращает целые числа, соответствующие следующим значениям:

    • active = 1
    • notInService = 2
    • notReady = 3
  • FLUSSONIC-MIB::schedulerLoad

    Потребление в % ресурса Erlang scheduler (среднее за последнюю минуту). Соответствует среднему значению из Pulse > Scheduler utilization for last minute.

snmptranslate

Чтобы получить информацию об объектах и идентификаторах (OID), воспользуйтесь утилитой snmptranslate с флагом -Tz:

snmptranslate -m apps/snmp2/mibs/FLUSSONIC-MIB.mib -Tz

Утилита дает ответ такого вида:

"org"            "1.3"
"dod"            "1.3.6"
"internet"            "1.3.6.1"
"directory"            "1.3.6.1.1"
"mgmt"            "1.3.6.1.2"
"mib-2"            "1.3.6.1.2.1"
"transmission"            "1.3.6.1.2.1.10"
"experimental"            "1.3.6.1.3"
"private"            "1.3.6.1.4"
"enterprises"            "1.3.6.1.4.1"
"flussonicModule"            "1.3.6.1.4.1.36342"
"flussonic"            "1.3.6.1.4.1.36342.1"
"streams"            "1.3.6.1.4.1.36342.1.1"
"streamsNum"            "1.3.6.1.4.1.36342.1.1.1"
"streamsTable"            "1.3.6.1.4.1.36342.1.1.2"
"streamsEntry"            "1.3.6.1.4.1.36342.1.1.2.1"
"sIndex"            "1.3.6.1.4.1.36342.1.1.2.1.1"
"sName"            "1.3.6.1.4.1.36342.1.1.2.1.2"
"sClientCount"            "1.3.6.1.4.1.36342.1.1.2.1.3"
"sRetryCount"            "1.3.6.1.4.1.36342.1.1.2.1.4"
"sLifeTime"            "1.3.6.1.4.1.36342.1.1.2.1.5"
"sBitrate"            "1.3.6.1.4.1.36342.1.1.2.1.6"
"sBytesIn"            "1.3.6.1.4.1.36342.1.1.2.1.7"
"sBytesOut"            "1.3.6.1.4.1.36342.1.1.2.1.8"
"sStatus"            "1.3.6.1.4.1.36342.1.1.2.1.9"
"accounting"            "1.3.6.1.4.1.36342.1.2"
"totalClients"            "1.3.6.1.4.1.36342.1.2.1"
"serverStatus"            "1.3.6.1.4.1.36342.1.3"
"schedulerLoad"            "1.3.6.1.4.1.36342.1.3.1"
"flussonicConformance"            "1.3.6.1.4.1.36342.2"
"streamGroup"            "1.3.6.1.4.1.36342.2.1"
"statGroup"            "1.3.6.1.4.1.36342.2.2"
"statusGroup"            "1.3.6.1.4.1.36342.2.3"
"security"            "1.3.6.1.5"
"snmpV2"            "1.3.6.1.6"
"snmpDomains"            "1.3.6.1.6.1"
"snmpProxys"            "1.3.6.1.6.2"
"snmpModules"            "1.3.6.1.6.3"
"zeroDotZero"            "0.0"

Описание объектов можно посмотреть в файле

/opt/flussonic/apps/snmp2/mibs/FLUSSONIC-MIB.mib

в поле DESCRIPTION.