SNMP Polling

What is SNMP Polling? Copied

SNMP Polling is a well-defined and well-understood method of monitoring within the IT monitoring industry. SNMP stands for Simple Network Management Protocol, and is a standard way of monitoring hardware and software from nearly every vendor on the planet; such as Cisco, VMware, Juniper, Microsoft, Linux operating systems and more.

There are two parts to SNMP ’ a Network Management Station (NMS) and a Management Agent (MA).The NMS, Opsview Monitor in this case, communicates with the management agent running on the hardware/software in question, using SNMP.

The management agent that runs on the hardware / software collects information about the aforementioned hardware/software and presents it in a logical fashion, allowing for it to be polled by the management station (Opsview Monitor).

This ’logical fashion’ uses two key concepts; OIDs (Object Identifier) and MIBs (Management Information Base). SNMP works by querying Objects, where an object is something containing data about a specific item within the hardware/software in question, i.e. temperature of a chip, etc. SNMP identifies Objects like this with an Object Identifier (OID).

OID’s are very structured and take a numbered, hierarchical tree structure. Most of the time, OID’s are translated into a more readable format, but you still might encounter situations where you will need to use the raw numbers - to find out more see SNMP Tutorial guide.

Tied closely to OID’s are the Management Information Bases or MIBs. A MIB is like a translator that helps your network management station (NMS) to understand the ’numbers’ within the OID. This means that instead of seeing ‘1.3.6.1.4.1.311: 44.03’ the MIB will translate and allows Opsview Monitor to display ‘CPU0 Temperature: 44.03’. In essence, the MIB makes SNMP objects usable.

MIB’s can be downloaded from the hardware/software vendor and loaded into Opsview Monitor by installing them into your distribution’s designated MIB directories.

Note

If you are using SNMP Traps, ensure that you copy your custom MIBs to ‘/opt/opsview/snmptraps/var/load’.

In the example below, the first group of text is missing a MIB file and is not able to fully translate the OID’s into a human-readable format (you can see the .94.1.1.4.1.4.4, for example.) The second group of text is able to fully translate the OID’s using a MIB.

SNMPv2-SMI::transmission.94.1.1.4.1.4.4 = Gauge32: 0 SNMPv2-SMI::transmission.94.1.1.5.1.1.4 = Gauge32: 0 SNMPv2-SMI::transmission.94.1.1.5.1.2.4 = Gauge32: 1151944 SNMPv2-SMI::transmission.94.1.1.5.1.3.4 = Gauge32: 0 SNMPv2-SMI::transmission.94.1.1.5.1.4.4 = Gauge32: 0 SNMP output without a MIB

MIB::adslAtucChanCrcBlockLength.4 = Gauge32: 0 byte ADSL-LINE-MIB::adslAturChanInterleaveDelay.4 = Gauge32: 0 milli-seconds ADSL-LINE-MIB::adslAturChanCurrTxRate.4 = Gauge32: 1151944 bps ADSL-LINE-MIB::adslAturChanPrevTxRate.4 = Gauge32: 0 bps ADSL-LINE-MIB::adslAturChanCrcBlockLength.4 = Gauge32: 0 SNMP output with a MIB

SNMP Security Copied

There are three versions of the SNMP protocol supported in Opsview Monitor:

SNMP v1 and SNMP v2c are very similar in their configuration; an administrator configures a field known as the *community string *which is the authentication string (password, essentially) that the NMS needs to get the data from the MA (i.e. how Opsview Monitor can log in to the router to get the information about it).

SNMP v3 is more secure in that it allows an administrator to set a username, an authentication algorithm, an authentication password, a privacy algorithm AND a privacy password ’ all of which must be entered correctly within Opsview Monitor in order to allow access to the router/devices information.

In the screen below, both SNMP v1/v2c and v3 are configured:

SNMP Setup

These credentials must be entered into Opsview Monitor in order to allow the monitoring of the Host in question.

Configuring a Host for SNMP Polling Copied

To configure a Host so that Opsview Monitor is able to poll it for information, you should configure the ‘SNMP’ tab within the Host edit modal window. This is covered within detail within Section Configuring a host: ‘SNMP’ tab. Note that the ‘aes256’ and ‘aes256c’ SNMPv3 privacy protocol options are only fully supported on some operating systems (see SNMP Privacy Protocol Support).

Configuring a New SNMP Polling Check Copied

To configure a new SNMP polling check, go to Configuration > Service Checks.

Once within the Service Checks window, click on the ‘Add New’ button in the top left and then click on SNMP Polling.

Add new SNMP Polling

Once ‘SNMP Polling’ has been clicked, a window similar to the one below will load:

SNMP Polling tab

Details Tab: Basic Copied

The Details tab is split into two drawers, ‘Basic’ and ‘Advanced’.

The items within ‘Basic’ are the most commonly used fields for Service Check configuration:

Details Tab: Advanced Copied

The items within ‘Advanced’ are the less used, more ‘advanced’ Service Check options:

Note

If a Host does not notify on any states, then the Service Checks on that Host will also not send any Notifications.
State Output Output Recorded
OK Service OK: 10% Yes
OK Service OK: 15% No
OK Service OK: 15% No
OK Service OK: 20% No
CRITICAL Service warning: 80% Yes
CRITICAL Service warning: 75% No
WARNING Service warning: 70% Yes
WARNING Service warning: 40% No
WARNING Service warning: 40% No
OK Service OK: 20% Yes
OK Service OK: 18% No

This option instead causes every change of output to be logged regardless of change of state (for the selected state changes). For example, for the same sequence above with OK and WARNING selected:

State Output Output Recorded
OK Service OK: 10% Yes
OK Service OK: 15% Yes
OK Service OK: 15% No
OK Service OK: 20% Yes
CRITICAL Service warning: 80% Yes
CRITICAL Service warning: 75% NO - CRITICAL option was not selected
WARNING Service warning: 70% Yes
WARNING Service warning: 40% Yes
WARNING Service warning: 40% No
OK Service OK: 20% Yes
OK Service OK: 18% Yes

Note

The Notification number will increase for every non-OK result and only gets reset to zero when an OK state is received.

SNMP Polling Tab Copied

When configuring an SNMP Polling service check, it is possible to run an SNMP Walk against a host so that you have the complete list of all OIDs on the host.

The main user journey to create a new SNMP Polling Service Check is:

Example Host Copied

The configuration tab will show an Example Host field:

SNMP Polling Example Host

Note

As SNMP Walks can take a long time, Opsview Monitor will cache previous results in its database. Users can click Rescan to force another SNMP Walk to run and get the latest SNMP Walk.

If there are some OIDs that are expected to be present but are not, the SNMP agent on your host may need to be configured.

There is a timeout of 30 minutes for the SNMP Walk to complete. users can alter this timeout by editing the value in opsview_web_local.yml.

Fields:

OID field

Add the calculations using the Warning/Critical sections, i.e. if we are monitoring a temperature, set the warning field to ‘>’ for the numeric comparison and the value to ‘40’, and the same for critical but with a higher value. This means, if the temperature goes above 40, set the Service Check to warning, if it goes above X set it to critical.

Modify the label, calculation rate and the warning/critical values as required:

OID and other fields

Click Submit Changes and the new Service Check is created! See Section Service Checks Tab for guides on how to add the newly-created Service Check to a Host.

SNMP Polling Process Copied

In Opsview 6.0, the pysnmp and pysmi Python libraries are used to translate OIDs. Note: The package snmp-mibs-downloader needs to be installed on Debian and Ubuntu to be able to fully translate the most common (and publicly available) OIDs.

The pysnmp library creates compiled versions of MIBs installed on the system and caches them in the directory /opt/opsview/var/pysnmp. The Orchestrator can be configured for additional MIB installation locations by creating an orchestrator.yaml file which contains the dictionary key snmp_mib_dirs which lists all the mibs directories, as below:

    snmp_mib_dirs:
        - /opt/opsview/var/snmp
        - /path/to/your/mibs/dir

The valid OIDs syntax is:

Any other type of data passed will raise an exception of invalid OID exception.

["Opsview"] ["User Guide"]

Was this topic helpful?