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

Contents

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.