Check Cisco WLAN
Perl Modules
Monitoring::Plugin, Net::SNMP, Socket, Socket6
Vendor Support
The following has been verified to be working with Cisco WLC version 8.0 or higher.
Installation
The following configuration can be placed in /etc/icinga2/include/plugins-contrib.d on CentOS 7 systems.
FILE: /etc/icinga2/include/plugins-contrib.d/cisco_wlan.conf
/******************************************************************************
* Icinga 2 *
* *
*/
object CheckCommand "cisco_wlan" {
command = [ PluginDir + "/check_cisco_wlan.pl" ]
arguments = {
"-H" = {
value = "$address$"
required = true
description = "hostname or ip address of WLC"
}
"-P" = {
value = "$wlan_snmpver$"
required = false
description = "SNMP version to use"
}
"-d" = {
value = "$wlan_debug$"
required = false
description = "Do we enable debug?"
}
"-r" = {
value = "$wlan_res$"
required = false
description = "Match specific number of clients"
}
"-s" = {
value = "$wlan_snmpcom$"
required = true
description = "SNMP community to use, v3 include user,pass,auth, etc"
}
"-v" = {
value = "$wlan_verbose$"
required = false
description = "Do we enable verbose?"
}
# ------------------------------------------
# Plugin Specific Options
"-4" = {
value = "$wlan_v4$"
required = false
description = "Force IPv4 transport (udp)"
}
"-6" = {
value = "$wlan_v6$"
required = false
description = "Force IPv6 transport (udp6)"
}
"-a" = {
value = "$wlan_all$"
required = false
description = "Count all clients on WLC"
}
"-n" = {
value = "$wlan_ssid$"
required = false
description = "Count clients for specific SSID"
}
"-A" = {
value = "$wlan_clienthigh$"
required = false
description = "Enable alerting on client count too high"
}
"-B" = {
value = "$wlan_clientlow$"
required = false
description = "Enable alerting on client count too low"
}
}
# Variables available for configuration, and their default
vars.wlan_snmpcom = "$wlan_snmpcom$"
# vars.wlan_snmpver = "$wlan_snmpver$"
vars.wlan_crit = ",,1"
vars.wlan_warn = ",,2"
# VARS: Entries which don't have a default
# These are configured in the ${host}.conf file as variables.
# vars.wlan_ssid = "GuestNetwork" # name of SSID
# vars.wlan_all = true/false # Total count on WLC
# vars.wlan_debug = true/false
# vars.wlan_clienthigh = true/false # use warn/crit for levels
# vars.wlan_clientlow = true/false # use warn/crit for levels
# vars.wlan_v4 = true/false # Force IPv4 transport
# vars.wlan_v6 = true/false # Force IPv4 transport
}
Configuration
There are a few variables which can be used tweaked for the different environments. Some variables are mandatory and others are optional, they are listed.
wlan_snmpver variable will accept both version 2 and 3 options and requires the eigrp_snmpcom variable to be set as well. [VAR: mandatory]
vars.wlan_snmpver = 2|3
wlan_snmpcom variable will take alphanumeric entries enclosed by quotes. If the SNMP version if 2 then the entry is simply the community string of the device. Version 3 requires a more elaborate configuration. The appropriate 'security level' (ie. noAuthNoPriv, authNoPriv, authPriv) is picked dynamically based on the options passed.
Available algorithms for authPass are HMAC-MD5-96 (MD5) and HMAC-SHA-96 (SHA1). The privacy option supports CBC-DES (DES), CBC-3DES-EDE (3DES), or CFB128-AES-128 (AES). [VAR: mandatory]
vars.wlan_snmpcom = "value"
vars.wlan_snmpcom = "user:authPass:authProto:privPass:privProto"
wlan_clientlow is a boolean based variable which, if set, will compare the result of total client count of wireless clients and alert if warn/crit are also set. [VAR: optional]
vars.wlan_clientlow = true|false
wlan_clienthigh is a boolean based variable. Like it's counterpart wlan_clientlow, if set, will alert if the thresholds are met according to warn/crit. [VAR: optional]
vars.wlan_clienthigh = true|false