Monitoring Cisco Wireless Controller 4400 via SNMP
Hello
Cisco has done a great job implementing SNMP into its 4400 WLC.
The sheer number of OIDs is phenomenal.
You will need two MIB files to translate OIDs from numeric into named
Both are avaible to view and download here:
http://www.oidview.com/mibs/14179/md-14179-1.html
Or from Cisco site:
http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.14179
This will tell us how many people are connected to one particular Cisco Airespace Access Point
For that we only need one OID:
From table: bsnAPIfLoadParametersTable
Entry: bsnAPIfLoadNumOfClients
Numerical OID: 1.3.6.1.4.1.14179.2.2.13.1.4
And if we do a snmpwalk on it we will find that there is a bit more work to do.
Why?
Because Cisco APs connected to given controller are identified in SNMP database by a string o random values preceded by a single 0 (zero) like this: 0.31.155.25.136.80 .
Also will can see that each AP has two OIDs. One ending with ".0" other with ".1".
Thats because the APs can work in one of two modes: a/h or b/g/n.
So in order to get the correct data (via smnpget) we need to join the OIDs into one string like this:
1.3.6.1.4.1.14179.2.2.13.1.4.0.31.155.25.136.8.0
Here is an example command:
The output would be for example:
The -O parameter controls output of snmpget.
http://www.monitoringexchange.org/inventory/Check-Plugins/Network/Cisco-AP-Client-number
This will tell us the profile status of one particular Cisco Airespace Access Point
For that we need 4 OIDs:
From table: bsnAPIfProfileStateTable
1.3.6.1.4.1.14179.2.2.16.1.1
1.3.6.1.4.1.14179.2.2.16.1.2
1.3.6.1.4.1.14179.2.2.16.1.3
1.3.6.1.4.1.14179.2.2.16.1.24
The values of those OIDs are: Passed or Failed.
Word on profiles:
There are 4:
Here is a link to a Perl script I created for Nagios/Opsview:
http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Network/Network-Gear/Cisco-AP-Profile-Status
Those OIDs will give us information on total send and receive utilization (in %) as well as channel number and its utilization. Another information that should be checked is th operations status of the AP
For that we need few more OIDs:
From table: bsnAPTable
Administrative Status: 1.3.6.1.4.1.14179.2.2.1.1.37
The value of this OID can be:
1 - enable
2 - disable
Operational Status: 1.3.6.1.4.1.14179.2.2.1.1.6
The value of this OID can be:
1 - associated
2 - disassociating
3 - downloading
From table: bsnAPIfLoadParametersTable
TX utilization: 1.3.6.1.4.1.14179.2.2.13.1.1
RX utilization: 1.3.6.1.4.1.14179.2.2.13.1.2
Channel utilization: 1.3.6.1.4.1.14179.2.2.13.1.3
The value of those OIDs are given in %.
There are global values of the AP (not on per client basis)
And the number of channel used by this AP we get from table: bsnAPIfTable
1.3.6.1.4.1.14179.2.2.2.1.4
Here is a link to a Perl script I created for Nagios/Opsview:
http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Network/Network-Gear/Cisco-AP-Traffic
Cisco has done a great job implementing SNMP into its 4400 WLC.
The sheer number of OIDs is phenomenal.
You will need two MIB files to translate OIDs from numeric into named
AIRESPACE-SWITCHING-MIB | 1.3.6.1.4.1.14179.1 | ||||
AIRESPACE-WIRELESS-MIB | 1.3.6.1.4.1.14179.2 |
Both are avaible to view and download here:
http://www.oidview.com/mibs/14179/md-14179-1.html
Or from Cisco site:
http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?local=en&translate=Translate&objectInput=1.3.6.1.4.1.14179
First monitor - Number of users connected to given AP
This will tell us how many people are connected to one particular Cisco Airespace Access Point
For that we only need one OID:
From table: bsnAPIfLoadParametersTable
Entry: bsnAPIfLoadNumOfClients
Numerical OID: 1.3.6.1.4.1.14179.2.2.13.1.4
And if we do a snmpwalk on it we will find that there is a bit more work to do.
Why?
Because Cisco APs connected to given controller are identified in SNMP database by a string o random values preceded by a single 0 (zero) like this: 0.31.155.25.136.80 .
Also will can see that each AP has two OIDs. One ending with ".0" other with ".1".
Thats because the APs can work in one of two modes: a/h or b/g/n.
So in order to get the correct data (via smnpget) we need to join the OIDs into one string like this:
1.3.6.1.4.1.14179.2.2.13.1.4.0.31.155.25.136.8.0
Here is an example command:
snmpget -c public 192.168.200.100 -Ovq 1.3.6.1.4.1.14179.2.2.13.1.4.0.31.155.25.136.8.0
The output would be for example:
5
The -O parameter controls output of snmpget.
- 'v' - does not print OID string,
- 'q' - quick print values (without the value type) - makes parsing of output much simpler
http://www.monitoringexchange.org/inventory/Check-Plugins/Network/Cisco-AP-Client-number
Second monitor - Profile status of given AP
This will tell us the profile status of one particular Cisco Airespace Access Point
For that we need 4 OIDs:
From table: bsnAPIfProfileStateTable
1.3.6.1.4.1.14179.2.2.16.1.1
1.3.6.1.4.1.14179.2.2.16.1.2
1.3.6.1.4.1.14179.2.2.16.1.3
1.3.6.1.4.1.14179.2.2.16.1.24
The values of those OIDs are: Passed or Failed.
Word on profiles:
There are 4:
- load (...14179.2.2.16.1.1)
- noise (...14179.2.2.16.1.3)
- interference (...14179.2.2.16.1.2)
- coverage (...14179.2.2.16.1.24)
Here is a link to a Perl script I created for Nagios/Opsview:
http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Network/Network-Gear/Cisco-AP-Profile-Status
Third monitor - basic traffic information of given AP
Those OIDs will give us information on total send and receive utilization (in %) as well as channel number and its utilization. Another information that should be checked is th operations status of the AP
For that we need few more OIDs:
From table: bsnAPTable
Administrative Status: 1.3.6.1.4.1.14179.2.2.1.1.37
The value of this OID can be:
1 - enable
2 - disable
Operational Status: 1.3.6.1.4.1.14179.2.2.1.1.6
The value of this OID can be:
1 - associated
2 - disassociating
3 - downloading
From table: bsnAPIfLoadParametersTable
TX utilization: 1.3.6.1.4.1.14179.2.2.13.1.1
RX utilization: 1.3.6.1.4.1.14179.2.2.13.1.2
Channel utilization: 1.3.6.1.4.1.14179.2.2.13.1.3
The value of those OIDs are given in %.
There are global values of the AP (not on per client basis)
And the number of channel used by this AP we get from table: bsnAPIfTable
1.3.6.1.4.1.14179.2.2.2.1.4
Here is a link to a Perl script I created for Nagios/Opsview:
http://www.monitoringexchange.org/inventory/Check-Plugins/Hardware/Network/Network-Gear/Cisco-AP-Traffic
---------
I have this OID: .1.3.6.1.4.1.9.9.513.1.1.1.1.5
Description:Lwap list of AP Name (name of AP connected to WLC)
para Cacti
http://forums.cacti.net/viewtopic.php?t=12863&highlight=4400
Because Cisco APs connected to given controller are identified in SNMP database by a string o random values preceded by a single 0 (zero) like this: 0.31.155.25.136.80 ".
This isn't a string of random values, and while it will probably begin with zero, it won't always. These last 6 values in the OID is decimal value of the device MAC address.
It is very useful as it can be used to easily get to an entry in a table if/when you know the mac address..
Adjusted Perl script with:
num_of_ap=`/usr/bin/snmpwalk -v 2c -c $community $hostname 1.3.6.1.4.1.14179.2.2.1.1.37 | grep -v "No Such Instance currently exists at this OID" | wc -l`
because 0 accesspoints reports still 1 line:
/etc/nagios/objects > /usr/bin/snmpwalk -v 2c -c c community host 1.3.6.1.4.1.14179.2.2.1.1.37
SNMPv2-SMI::enterprises.14179.2.2.1.1.37 = No Such Instance currently exists at this OID
and then add the result obtained back to this OID 1.3.6.1.4.1.14179.2.2.13.1.4 and then again do a walk ?
thanks for sharing...
more info:- Cisco Router Support