This is a generic SNMP (Simple Network Management Protocol) module.

Note: this module internally uses 64 bit row numbers and therefore requires Tcl/Tk 8.4 or above (which is already the case if you are reading this from a running moodss application).

It requires the Tnm Tcl extension package (from the Scotty Tcl extension software) to be installed on the computer (on Windows, use the latest release from http://spog.gaertner.de/~schoenfr/scotty/).

Data is initially displayed in one or several tables, with one column per object identifier (see the -i (--identifiers) option).

This module can either display a SNMP table or a set of discrete objects.

If the -t (--table) option is used, then the corresponding SNMP table data is displayed in a table. The -i (--identifiers) option can be used to constrain the display to a subset of the table columns, and eventually split the data into several views.
If the SNMP table index consists of a single object, then the corresponding column will be used as the index of the displayed table(s), else a specific column containing a row creation unique number is generated. In either case, the index column is inserted, or placed if already specified in the identifiers list (see -i (--identifiers) option), at the leftmost position in each of the displayed tables.

If the -t (--table) option is not used, then the -i (--identifiers) option specifies a list of identifiers which can contain groups but no table. When a group is part of the list of objects, it is expanded into a list of its immediate successor identifiers. In this case, only the accessible identifiers are displayed. Data can be split in different views. All displayed data tables use a swapped layout, with 2 columns: identifiers on the left side and their values on the right side.

Data is displayed as returned by the SNMP peer after formatting by the Scotty SNMP engine, except for the objects of the counter type, which are displayed as per second values, calculated by dividing the difference between 2 poll values by the actual time difference between the two last polls. The SNMP agent system uptime value is used for most precise calculations.

Of course, you can, as with any other moodss module, specify several instances of this module in the command line to monitor as many SNMP peers as desired, and even combine with trap views using the related snmptrap module.

This document includes extracts from the Scotty documentation. The Scotty software is copyrighted by Juergen Schoenwaelder, the Technical University of Braunschweig, the University of Twente and other parties (please refer to the Scotty license for further information).

Error handling:

When there is a communication error with the remote host, all rows disappear and the displayed table becomes empty. A descriptive error message is also generated in such a case.

Module options:

Examples:

$ moodss snmp -t ipAddrTable
$ moodss snmp -a 134.169.34.1 --mibs rfc1213.mib -t ifTable
$ moodss snmp --trim if -a 134.169.34.1 -t ifTable -i ifDescr,ifType,ifMtu,ifSpeed,ifOperStatus,,ifInOctets,ifInErrors,ifOutOctets,ifOutErrors
creates the following 2 tables:
example view of 2 tables with MIBII interfaces data
$ moodss snmp --trim frCircuit -a router.mycompany.com --mibs rfc1212.mib,/home/jdoe/mibs/rfc1315.mib -t frCircuitTable -i frCircuitDlci,frCircuitThroughput,frCircuitState,frCircuitReceivedOctets,frCircuitSentOctets
$ moodss snmp --trim sys -a router.mycompany.com -i system
$ moodss snmp -i system,,interfaces,,tcp
$ moodss snmp --trim if -i ifDescr.1,ifType.1,ifSpeed.1,ifOperStatus.1,,ifInOctets.1,ifInErrors.1,ifOutOctets.1,ifOutErrors.1
$ moodss snmp -a 134.169.34.1 --identifiers sysUpTime.0,sysDescr.0,sysName.0
$ moodss snmp -i system --directory /usr/lib/tnm2.1.11/mibs
$ moodss snmp -i sysDescr,hrSystemProcesses --mibs rfc1213,rfc1514
$ moodss snmp -i someOid --directory /some/dir --mibs custom,test.my