Page 1 of 1

Netapp Network Bandwidth with SNMP

Posted: Tue Jan 13, 2015 10:42 am
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?

Re: Netapp Network Bandwidth with SNMP

Posted: Tue Jan 13, 2015 11:52 am
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

Re: Netapp Network Bandwidth with SNMP

Posted: Tue Jan 13, 2015 12:37 pm
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

Re: Netapp Network Bandwidth with SNMP

Posted: Tue Jan 13, 2015 5:05 pm
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]

Re: Netapp Network Bandwidth with SNMP

Posted: Tue Jan 13, 2015 6:03 pm
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

Re: Netapp Network Bandwidth with SNMP

Posted: Wed Jan 14, 2015 11:50 am
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:[email protected]: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>

Re: Netapp Network Bandwidth with SNMP

Posted: Wed Jan 14, 2015 2:51 pm
by OptimusB
Thanks for this. I will give this a go and report back.

Re: Netapp Network Bandwidth with SNMP

Posted: Wed Jan 14, 2015 3:26 pm
by sreinhardt
You're welcome, sounds good we'll wait to hear from you.

Re: Netapp Network Bandwidth with SNMP

Posted: Wed Jan 14, 2015 5:57 pm
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.

Re: Netapp Network Bandwidth with SNMP

Posted: Wed Jan 14, 2015 6:00 pm
by slansing
Awesome, let us know how your trials go. I agree, it would be useful to add this capability into a wizard.