More info on the SNMP Protocol
SNMP (Simple Network Management Protocol) is very popular for managing networks by monitoring the health and welfare of connected devices. Devices that can be monitored include routers, switches, printers, PCs, servers, and UPSs along with other equipment. SNMP is simple only in the limited number of commands available to interact with devices. Its implementation can sometimes be anything but simple! A feature of SNMP is it's an IETF (Internet Engineering Task Force) standard which means it should work the same for every implementation. It is also defined by the IAB (Internet Architecture Board) in RFC1157 as an application-layer protocol to use exchanging health and configuration information between network devices. It uses UDP (User Datagram Protocol) which is part of the TCP/IP (Transport Control Protocol/Internet Protocol) suite that is in use on the Internet and most networks today. UDP has lower overhead, but does not offer the guarantee that data will arrive at its destination that UDP does.
Monitoring via SNMP requires the following components:
- SNMP Manager - A very common one is Nagios.
- Devices running an SNMP agent or in the case of the Monico Gateway an SNMP driver. Other devices include Cisco Switches, Dell Servers, HP Workstations, etc.
- MIB (Management Information Base) file for each device/agent. This is a specially formatted text file that the SNMP Manager reads so that it can translate an OID to a human readable parameter name. For instance when viewed on the SNMP Manager we might see "Engine RPM" but the SNMP Manager is actually looking for OID 22.214.171.124.4.1.362126.96.36.199.69 on the Monico Gateway. Simply stated, the MIB files does for SNMP what the DNS Server does for web-browsing.
The purpose of the SNMP Manager is to communicate with the managed devices making queries for health and other information, for setting or updating variables, and for acknowledging events sent by the managed devices. It can also be a historian for historical data and presents all of this data so that a user can easily see it.
The SNMP Agent resides on the monitored device and responds to the SNMP Manager when queried. It also notifies the Manager whenever an Event (think digital I/O, Start/Stop) occurs.
The Monico Gateway can support a combination of up to 2,250 32-bit Integers and 2,000 Traps.
SNMP monitors various parameters of devices via an OID or Object Identifier. Each data parameter is assigned to a single OID. Each OID holds a 32-bit Integer.
To make it easier for humans to understand what each OID represents, a MIB file is created which is an OID to Data Parameter lookup and acts much like DNS converts between IP's and names. The SNMP Manager presents the user with parameters that makes sense to him or her. For instance, the user may see parameters labeled with names such as "% CPU Usage," "Ambient Temperature," and in the case of a Standby Generator we would see things such as "Engine RPM," "Coolant Temperature," or "Engine Oil Pressure." When the user selects one the SNMP Manager looks up the data parameter, and reads the corresponding OID. It then takes that OID and sends a "Get" request along with the OID to the Agent which then responds with the value at that location. Originally designed to keep track of devices health and configuration information on the network.
More information can be obtained by visiting the following sites: