SNMP¶
Flussonic Media Server has a basic implementation of the SNMP protocol. It allows monitoring of various parameters such as resource consumption by Flussonic's video streams.
To use it, add the following lines in the Flussonic configuration file:
snmp 4000;
Apply the settings:
service flussonic reload
This will enable a listener for SNMP on port 4000.
snmpwalk¶
To fetch stats via SNMP, run the following commands:
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 .
Replace USERNAME
with the login of the Flussonic Administrator.
Here snmpwalk
is a utility for diagnosing an installed SNMP system.
The option -c USERNAME
means "community" in terms of SNMP. SNMP community is equal to the Flussonic Administrator's login.
Example
If everything is configured correctly, the response of the snmpwalk
utility will look like the following:
# 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)
This SNMP table contains variables related to Flussonic (STREAMER-MIB
) and showing stream data, for example, stream name (STREAMER-MIB::sName
), the number of stream clients (STREAMER-MIB::sClientCount
), time while a stream is active (STREAMER-MIB::sLifeTime
) and so on.
Streams are numbered .1, .2, and so on.
Here is the explanation of some variables that might not be obvious:
STREAMER-MIB::sStatus
Returns integers that correspond to the following values:
* active = 1
* notInService = 2
* notReady = 3
STREAMER-MIB::schedulerLoad
Consumption (in percentages, %) of the Erlang scheduler
resource (average per last minute). Corresponds to the average value from Pulse > Scheduler utilization for last minute.
snmptranslate¶
To retrieve information about objects and identifiers (OIDs), use the snmptranslate
utility with the -Tz
flag:
snmptranslate -m /opt/flussonic/lib/mibs/STREAMER-MIB.mib -Tz
The utility produces a response similar to this one:
"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"
Objects description is provided in the DESCRIPTION
fields of the /opt/flussonic/lib/mibs/STREAMER-MIB.mib
file.