Oh holy … i just realized, there is a whole extra section for 9800 devices at the cisco_wlc_clients check to handle them differently from other cisco WLCs. Seems like there is work too to get this working:
def parse_cisco_wlc_9800_clients(
string_table: List[StringTable],
) -> WlcClientsSection[ClientsTotal]:
section: WlcClientsSection[ClientsTotal] = WlcClientsSection()
for (ssid_name,), (num_clients_str,) in zip(string_table[0], string_table[1]):
num_clients = int(num_clients_str)
section.total_clients += num_clients
if ssid_name not in section.clients_per_ssid:
section.clients_per_ssid[ssid_name] = ClientsTotal(0)
section.clients_per_ssid[ssid_name].total += num_clients
return section
register.snmp_section(
name="cisco_wlc_9800_clients",
parsed_section_name="wlc_clients",
detect=matches(OID_sysObjectID, r"^\.1\.3\.6\.1\.4\.1\.9\.1\.2530"),
parse_function=parse_cisco_wlc_9800_clients,
fetch=[
SNMPTree(
base=".1.3.6.1.4.1.9.9.512.1.1.1.1",
oids=[
"4", # CISCO-LWAPP-WLAN-MIB::cLWlanSsid
],
),
SNMPTree(
base=".1.3.6.1.4.1.14179.2.1.1.1",
oids=[
"38", # AIRESPACE-WIRELESS-MIB::bsnDot11EssNumberOfMobileStations
],
),
],
)
The connected clients count isn’t important for us so i never have checked this before.