Netapp Network Bandwidth with SNMP

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
Locked
OptimusB
Posts: 146
Joined: Mon Oct 27, 2014 10:08 pm
Location: Canada
Contact:

Netapp Network Bandwidth with SNMP

Post by OptimusB »

We have a few Netapp controllers that we are going to monitoring with SNMP. I am looking to capture bandwidth usage similar to network switches. The wizard for network switches works great when discovering switches and creates MRTG configurations and provides performance graph. Is there a way to capture the same on Netapp controllers? I am trying to see how bandwidth checks are configured and apply that to the Netapp interfaces, but having any luck. As the wizard configures MRTG and the service checks are just looking for the rrd file, how would I go about configuring this manually in XI?
sreinhardt
-fno-stack-protector
Posts: 4366
Joined: Mon Nov 19, 2012 12:10 pm

Re: Netapp Network Bandwidth with SNMP

Post by sreinhardt »

If you have run the switch wizard against your netapp device, and returned no results, the information may not be available. In any case, I would suggest you contact netapp support an see if your specific device and firmware support outputting that data via snmp. Additionally, you could take a look at the exchange link below and see if any of the plugins will work for you.

http://exchange.nagios.org/index.php?op ... ord=netapp
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
OptimusB
Posts: 146
Joined: Mon Oct 27, 2014 10:08 pm
Location: Canada
Contact:

Re: Netapp Network Bandwidth with SNMP

Post by OptimusB »

I've checked exchange and most of them are using SNMP to retrieve information which I have configured manually for checks that we want. I found the network interface OIDs that can be used, but since I think it is part of a custom MIB, the network switches wizard is not able to pick up the interfaces. Is there a way to configure bandwidth checks with MRTG manually within XI? (I have configure MRTG within Core but have not tired it with NetApp devices)

Does the wizard do a discovery based on IF-MIB? Is there a way to customize the wizard where I can provide a OID or MIB to see if it will pick up the network ports for bandwidth monitoring?

Thanks
sreinhardt
-fno-stack-protector
Posts: 4366
Joined: Mon Nov 19, 2012 12:10 pm

Re: Netapp Network Bandwidth with SNMP

Post by sreinhardt »

What kind of data do you get back if you query those oid's you've found?

Code: Select all

snmpwalk -v2c -c [community string] [hostname\ip] [interface oid]
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
OptimusB
Posts: 146
Joined: Mon Oct 27, 2014 10:08 pm
Location: Canada
Contact:

Re: Netapp Network Bandwidth with SNMP

Post by OptimusB »

Please find below the information we get from one of the interface via SNMP from then NetApp controller.

Code: Select all

snmpwalk -v2c -c public <ip> 1.3.6.1.4.1.789.1.22 -m netapp.mib | grep 65541

Code: Select all

NETAPP-MIB::netifIndex.65541 = INTEGER: 65541
NETAPP-MIB::netifDescr.65541 = STRING: 
NETAPP-MIB::ifHighInOctets.65541 = Counter32: 0
NETAPP-MIB::ifLowInOctets.65541 = Counter32: 7205139
NETAPP-MIB::ifHighInUcastPkts.65541 = Counter32: 0
NETAPP-MIB::ifLowInUcastPkts.65541 = Counter32: 103180
NETAPP-MIB::ifHighInNUcastPkts.65541 = Counter32: 0
NETAPP-MIB::ifLowInNUcastPkts.65541 = Counter32: 0
NETAPP-MIB::ifHighInDiscards.65541 = Counter32: 0
NETAPP-MIB::ifLowInDiscards.65541 = Counter32: 0
NETAPP-MIB::ifHighInErrors.65541 = Counter32: 0
NETAPP-MIB::ifLowInErrors.65541 = Counter32: 0
NETAPP-MIB::ifHighInUnknownProtos.65541 = Counter32: 0
NETAPP-MIB::ifLowInUnknownProtos.65541 = Counter32: 14
NETAPP-MIB::ifHighOutOctets.65541 = Counter32: 0
NETAPP-MIB::ifLowOutOctets.65541 = Counter32: 90723959
NETAPP-MIB::ifHighOutUcastPkts.65541 = Counter32: 0
NETAPP-MIB::ifLowOutUcastPkts.65541 = Counter32: 214883
NETAPP-MIB::ifHighOutNUcastPkts.65541 = Counter32: 0
NETAPP-MIB::ifLowOutNUcastPkts.65541 = Counter32: 145
NETAPP-MIB::ifHighOutDiscards.65541 = Counter32: 0
NETAPP-MIB::ifLowOutDiscards.65541 = Counter32: 0
NETAPP-MIB::ifHighOutErrors.65541 = Counter32: 0
NETAPP-MIB::ifLowOutErrors.65541 = Counter32: 0
NETAPP-MIB::if64InOctets.65541 = Counter64: 8165570
NETAPP-MIB::if64InUcastPkts.65541 = Counter64: 116199
NETAPP-MIB::if64InNUcastPkts.65541 = Counter64: 0
NETAPP-MIB::if64InDiscards.65541 = Counter64: 0
NETAPP-MIB::if64InErrors.65541 = Counter64: 0
NETAPP-MIB::if64InUnknownProtos.65541 = Counter64: 14
NETAPP-MIB::if64OutOctets.65541 = Counter64: 95406877
NETAPP-MIB::if64OutUcastPkts.65541 = Counter64: 227177
NETAPP-MIB::if64OutNUcastPkts.65541 = Counter64: 147
NETAPP-MIB::if64OutDiscards.65541 = Counter64: 0
NETAPP-MIB::if64OutErrors.65541 = Counter64: 0
sreinhardt
-fno-stack-protector
Posts: 4366
Joined: Mon Nov 19, 2012 12:10 pm

Re: Netapp Network Bandwidth with SNMP

Post by sreinhardt »

Ok this is going to get a bit tricky, and is something I haven't done before, but it seems straightforward enough. First, let's run that same snmpwalk command, and we want to get numeric oid's, unless you already know them. Second, we want to use those oids and your device's IP to modify the config I have below. Specifcially, we want to replace the NETAPP-MIB:: portions in the Target line, with their corresponding numeric oids. Then we want to replace the instances of XXX.XXX.XXX.XXX with your devices IP. The _1 is intentionally and needs to stay with all uses of your IP address, as this is how mrtg tracks what is happening. The only other thing, is you will likely want to set the MaxBytes line to the actual max interface speed in bytes, NOT bits, so that mrtg knows what to expect. This file then needs to go into /etc/mrtg/conf.d/netapp.conf or something of that naming convention.

So to start, let's re-issue that snmpwalk command like so:

Code: Select all

snmpwalk -v2c -On -c public <ip> 1.3.6.1.4.1.789.1.22 -m netapp.mib | grep 65541
We are looking for the 4th and 16th, responses which correspond to the following shortnames, expect the returned counters to have changed, and possibly quite dramatically:

Code: Select all

NETAPP-MIB::ifLowInOctets.65541 = Counter32: 7205139
NETAPP-MIB::ifLowOutOctets.65541 = Counter32: 90723959
Instead of NETAPP-MIB::... you should be left with a full numeric oid such as 1.3.1.6..... These are what we want to place in the Target line of the config. ifLowInOctets(4) is the first oid prior to the & and the ifLowOutOctets(16th) is the second just after the &. You must leave the & in with no space between them.
As mentioned, now change the maxbytes line if you wish and save to the /etc/mrtg/conf.d directory with any name ending in .cfg. This will cause mrtg to include the config next time it runs, about every 5 minutes. If everything went as planned, we should see a new folder in /var/lib/mrtg/ with that devices ip address or name, and at least a single rrd file within. From there, we can work on configuring a check to get that data into nagios as the normal switch and router wizard would, but let's get this working first.

mrtg config:

Code: Select all

### Interface 1 >> Descr: 'Nettapp IF' | Name: 'Nettapp IF' | Ip: '' | Eth: '' ###
Target[XXX.XXX.XXX.XXX_1]: NETAPP-MIB::ifLowInOctets.65541&NETAPP-MIB::ifLowOutOctets.65541:public@XXX.XXX.XXX.XXX:161::::2
SetEnv[XXX.XXX.XXX.XXX_1]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="Netapp IF"
MaxBytes[XXX.XXX.XXX.XXX_1]: 1250000
Title[XXX.XXX.XXX.XXX_1]: Traffic Analysis for Netapp Interface
PageTop[XXX.XXX.XXX.XXX_1]: <h1>Traffic Analysis for Netapp Interface</h1>
<div id="sysdetails">
<table>
<tr>
<td>System:</td>
<td>Netapp SNMP in </td>
</tr>
<tr>
<td>Maintainer:</td>
<td></td>
</tr>
<tr>
<td>Description:</td>
<td>Netapp IF </td>
</tr>
<tr>
<td>ifType:</td>
<td> </td>
</tr>
<tr>
<td>ifName:</td>
<td>Netapp IF</td>
</tr>
<tr>
<td>Max Speed:</td>
<td>1250000.0 Bytes/s</td>
</tr>
</table>
</div>
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
OptimusB
Posts: 146
Joined: Mon Oct 27, 2014 10:08 pm
Location: Canada
Contact:

Re: Netapp Network Bandwidth with SNMP

Post by OptimusB »

Thanks for this. I will give this a go and report back.
sreinhardt
-fno-stack-protector
Posts: 4366
Joined: Mon Nov 19, 2012 12:10 pm

Re: Netapp Network Bandwidth with SNMP

Post by sreinhardt »

You're welcome, sounds good we'll wait to hear from you.
Nagios-Plugins maintainer exclusively, unless you have other C language bugs with open-source nagios projects, then I am happy to help! Please pm or use other communication to alert me to issues as I no longer track the forum.
OptimusB
Posts: 146
Joined: Mon Oct 27, 2014 10:08 pm
Location: Canada
Contact:

Re: Netapp Network Bandwidth with SNMP

Post by OptimusB »

Thanks for this. I was able the get the network ports added to MRTG and create a service check against the RRD file.
The provided instructions works perfectly.

It will take some time to create the cfg files, but this would be really useful if a wizard existed for this :)
I will most likely create a script to scan for the interfaces and generate the cfg for MRTG.
slansing
Posts: 7698
Joined: Mon Apr 23, 2012 4:28 pm
Location: Travelling through time and space...

Re: Netapp Network Bandwidth with SNMP

Post by slansing »

Awesome, let us know how your trials go. I agree, it would be useful to add this capability into a wizard.
Locked