SNMP¶
Во Flussonic Media Server есть базовая реализация SNMP. Она позволяет отслеживать разные параметры, например, сколько ресурсов потребляют видео-потоки Flussonic.
Она включается в конфигурационном файле Flussonic следующим способом:
snmp 4000;
Примените настройки:
service flussonic reload
Теперь на порту 4000 Flussonic будет отвечать по SNMP.
snmpwalk¶
Чтобы прочитать данные SNMP, выполните следующие команды:
apt-get -y install snmp snmp-mibs-downloader
snmpwalk -c USERNAME -v 2c -M +/opt/flussonic/lib/mibs -m +STREAMER-MIB 127.0.0.1:4000 .
Замените USERNAME
на логин Администратора Flussonic.
Здесь snmpwalk
— утилита для диагностики установленной системы SNMP.
Опция -c USERNAME
означает "community" в терминах SNMP.
SNMP community равен логину Администратора Flussonic.
Пример
Если все настроено правильно, то утилита snmpwalk
выведет ответ следующего вида:
# snmpwalk -c flussonic -v 2c -M +/opt/flussonic/lib/mibs/ -m +STREAMER-MIB 127.0.0.1:4000 .
SNMPv2-SMI::mib-2.1.1.0 = STRING: "Streamer 21.04"
SNMPv2-SMI::mib-2.1.2.0 = OID: STREAMER-MIB::streamerModule
SNMPv2-SMI::mib-2.1.3.0 = Timeticks: (668596) 1:51:25.96
SNMPv2-SMI::mib-2.1.4.0 = STRING: "support@flussonic.com"
SNMPv2-SMI::mib-2.1.5.0 = STRING: "Streamer"
SNMPv2-SMI::mib-2.1.6.0 = STRING: "Erlang"
SNMPv2-SMI::mib-2.1.7.0 = INTEGER: 72
SNMPv2-SMI::mib-2.1.8.0 = Timeticks: (0) 0:00:00.00
SNMPv2-SMI::mib-2.11.1.0 = Counter32: 9
SNMPv2-SMI::mib-2.11.3.0 = Counter32: 0
SNMPv2-SMI::mib-2.11.4.0 = Counter32: 0
SNMPv2-SMI::mib-2.11.5.0 = Counter32: 0
SNMPv2-SMI::mib-2.11.6.0 = Counter32: 0
SNMPv2-SMI::mib-2.11.30.0 = INTEGER: 1
SNMPv2-SMI::mib-2.11.31.0 = Counter32: 0
SNMPv2-SMI::mib-2.11.32.0 = Counter32: 0
STREAMER-MIB::streamsNum.0 = Gauge32: 3
STREAMER-MIB::sIndex.1 = INTEGER: 1
STREAMER-MIB::sIndex.2 = INTEGER: 2
STREAMER-MIB::sIndex.3 = INTEGER: 3
STREAMER-MIB::sName.1 = STRING: nino
STREAMER-MIB::sName.2 = STRING: 01
STREAMER-MIB::sName.3 = STRING: informer
STREAMER-MIB::sClientCount.1 = Gauge32: 0
STREAMER-MIB::sClientCount.2 = Gauge32: 0
STREAMER-MIB::sClientCount.3 = Gauge32: 1
STREAMER-MIB::sRetryCount.1 = Gauge32: 0
STREAMER-MIB::sRetryCount.2 = Gauge32: 0
STREAMER-MIB::sRetryCount.3 = Gauge32: 0
STREAMER-MIB::sLifeTime.1 = Counter64: 6707983
STREAMER-MIB::sLifeTime.2 = Counter64: 6713981
STREAMER-MIB::sLifeTime.3 = Counter64: 1617905203800
STREAMER-MIB::sBitrate.1 = Counter64: 3571
STREAMER-MIB::sBitrate.2 = Counter64: 2580
STREAMER-MIB::sBitrate.3 = Counter64: 713
STREAMER-MIB::sBytesIn.1 = Counter64: 3043133741
STREAMER-MIB::sBytesIn.2 = Counter64: 2227175658
STREAMER-MIB::sBytesIn.3 = Counter64: 144049422
STREAMER-MIB::sBytesOut.1 = Counter64: 0
STREAMER-MIB::sBytesOut.2 = Counter64: 23894379
STREAMER-MIB::sBytesOut.3 = Counter64: 29263651
STREAMER-MIB::sStatus.1 = INTEGER: active(1)
STREAMER-MIB::sStatus.2 = INTEGER: active(1)
STREAMER-MIB::sStatus.3 = INTEGER: active(1)
STREAMER-MIB::totalClients.0 = Gauge32: 1
STREAMER-MIB::schedulerLoad.0 = Gauge32: 0
SNMPv2-SMI::snmpModules.1.1.6.1.0 = INTEGER: 1091569939
SNMPv2-SMI::snmpModules.10.2.1.1.0 = STRING: "Streamer"
SNMPv2-SMI::snmpModules.10.2.1.2.0 = INTEGER: 1
SNMPv2-SMI::snmpModules.10.2.1.3.0 = INTEGER: 6686
SNMPv2-SMI::snmpModules.10.2.1.4.0 = INTEGER: 484
SNMPv2-SMI::snmpModules.11.2.1.1.0 = Counter32: 0
SNMPv2-SMI::snmpModules.11.2.1.2.0 = Counter32: 0
SNMPv2-SMI::snmpModules.11.2.1.3.0 = Counter32: 0
SNMPv2-SMI::snmpModules.11.2.1.3.0 = No more variables left in this MIB View (It is past the end of the MIB tree)
В данной SNMP таблице есть объекты, которые относятся к Flussonic (STREAMER-MIB
) и содержат данные о потоках, такие как имя потока (STREAMER-MIB::sName
), количество запросивших клиентов (STREAMER-MIB::sClientCount
), время активности потока (STREAMER-MIB::sLifeTime
) и т.д.
Потоки пронумерованы следующим образом: .1, .2 и т.д.
Поясним объекты, которые могут вызвать вопросы:
STREAMER-MIB::sStatus
Возвращает целые числа, соответствующие следующим значениям:
* active = 1
* notInService = 2
* notReady = 3
STREAMER-MIB::schedulerLoad
Потребление в % ресурса Erlang scheduler
(среднее за последнюю минуту). Соответствует среднему значению из Pulse > Scheduler utilization for last minute.
snmptranslate¶
Чтобы получить информацию об объектах и идентификаторах (OID), воспользуйтесь утилитой snmptranslate
с флагом -Tz
:
snmptranslate -m /opt/flussonic/lib/mibs/STREAMER-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"
"streamerModule" "1.3.6.1.4.1.36342"
"streamer" "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"
"streamerConformance" "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"
Описание объектов можно посмотреть в поле DESCRIPTION
файла /opt/flussonic/lib/mibs/STREAMER-MIB.mib
.