Skip to content

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;

edit_auth ADMIN PASSWORD;

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 ADMIN -v 2c -M +/opt/flussonic/lib/snmp2/mibs/ -m +STREAMER-MIB 127.0.0.1:4000 .

Replace ADMIN with the login of the Flussonic administrator.

Here snmpwalk is a utility for diagnosing an installed SNMP system.

The option -c ADMIN means "community" in terms of SNMP. SNMP community is equal to the Flussonic administrator's login.

Example

If everything is configuraed correctly, the response of the snmpwalk utility will look like the following:

# snmpwalk -c flussonic -v 2c -M +/opt/flussonic/lib/snmp2/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 percent) 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/snmp2/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 available in the file

/opt/flussonic/lib/snmp2/mibs/STREAMER-MIB.mib

in the DESCRIPTION fields.