Please teach me basic knowledge about SNMP, MIB and OID. What does this stand for? How do they work?
SNMP, MIBs and OIDs—an Overview
SNMP is one of the most commonly used technologies when it comes to network monitoring. Unified Monitoring programs—like PRTG Network Monitor—use it. But how does SNMP work? What are MIBs and OIDs? Read this short introduction and make the first step into the world of SNMP!
SNMP stands for Simple Network Management Protocol and consists of three key components: managed devices, agents, and network-management systems (NMSs). A managed device is a node that has an SNMP agent and resides on a managed network. These devices can be routers and access servers, switches and bridges, hubs, computer hosts, or printers. An agent is a software module residing within a device. This agent translates information into a compatible format with SNMP. An NMS runs monitoring applications. They provide the bulk of processing and memory resources required for network management.
SNMP version 1 was the initial development of the SNMP protocol. A description can be found in Request for Comments (RFC) 1157 and it works within the specification of the Structure of Management Information (SMI). It operates over User Datagram Protocol (UDP), Internet Protocol (IP), OSI Connectionless Network Services (CLNS), AppleTalk Datagram Delivery Prtocol (DDP), and Novell Internet Packet Exchange (IPX). SNMP v1 is considered the de facto network management protocol in the Internet community.
SNMP—A Closer Look at MIBs and OIDs
MIB stands for Management Information Base and is a collection of information which is organized hierarchically. The various pieces of information are accessed by a protocol such as SNMP. There are two types of MIBs: scalar ones and tabular ones. Scalar objects define a single object instance whereas tabular objects define multiple related object instances grouped in MIB tables.
OIDs or Object Identifiers uniquely identify managed objects in an MIB hierarchy. It can be depicted as a tree whose nodes are assigned by different organizations. Generally, an OID is a long sequence of numbers, coding the nodes, separated by dots. Top level MIB object IDs (OIDs) belong to different standard organizations. Vendors define private branches including managed objects for their own products.
SNMP basically works with the principle that network management systems send out a request and the managed devices return a response. This is implemented using one of the following four operations: Get, GetNext, Set, and Trap. SNMP messages consist of a header and a PDU (Protocol Data Unit). The headers consist of the SNMP version number and the community name. The community name is used as a sort of password to increase security in SNMP. The PDU depends on the type of message that is sent. The Get, GetNext, and Set, as well as the response PDU, consist of PDU type, Request ID, Error status, Error index and Object/Variable fields. The Trap consists of Enterprise, Agent, Agent address, Generic trap type, Specific trap code, Timestamp and Object/Value fields.
MIBs, OIDs and Examples
MIBs are collections of definitions which define the properties of the managed object within the device to be managed. For example, the typical objects to monitor on a printer are the different cartridge states and maybe the number of printed files, and on a switch the typical objects of interest are the incoming and outgoing traffic as well as the rate of package loss or the number of packets addressed to a broadcast address. Every managed device keeps a database of values for each of the definitions written in the MIB. So, the available data is actually not dependent on the database, but on the implementation. Each vendor of SNMP equipment has their own section of the MIB tree structure at their disposition.
To organize all of these properly, all the manageable features of all products (from each vendor) are arranged in this MIB tree structure. Each 'branch' of this tree has a number and a name, and the complete path from the top of the tree down to the point of interest forms the name of that point. This complete path is the OID, the "identifier of an object" respectively. Nodes near the top of the tree are of an extremely general nature. For example, to get to the Internet, you need to reach the fourth node of the OID you can see below. When you move further down the tree, or further to the right respectively, the names get more and more specific, until you get to the bottom, where each node represents a particular feature on a specific device (or agent).
Here is a sample structure of an OID:
These numbers are the ones used in PRTG when setting up custom sensors, in order to access the appropriate elements of the device that you want to monitor. OIDs are generally provided by the hardware manufacturers or can be found in so-called OID repositories, where collections of MIB trees and the corresponding OIDs can be accessed. PRTG reads these OIDs and appoints them the device they belong to. That means that it monitors a selected device and its specific OID.
- Knowledge Base: Where can I find MIB files for my device?
- Knowledge Base: How do I find out what OID I need to use for a custom sensor?
- Knowledge Base: Tutorial - Can't find a sensor for my device in PRTG but I believe it supports SNMP
- Knowledge Base: What SNMP Sensors does PRTG offer?
- Free tools: SNMP Tester
- Free tools: MIB Importer
- White Papers "Introducing SNMP" and "Putting SNMP Into Practice"
We are also running enterprise switched rack PDU's however the out of the box support for them does not work. Even the custom one does not seem to log any relevant data. Have confirmed with the SNMP tester you can connect and there is data there, however when you try to load a sensor PRTG says: No available interfaces on this device (code: PE049)
Disappointed PRTG does not support such a well know brand and an import piece of IT infrastructure.
We're talking about the PDUs of APC? What exact model do you have? APC usually has MIB files for all of their network devices. You could use the MIB importer to convert it for PRTGs SNMP Library Sensor. Then you should see all the values the devices has to offer :)