librenms-librenms/LibreNMS/OS/RuckuswirelessSz.php
djamp42 e572d2a144 Ruckus Wireless updates (ZD/SZ/Unleashed/Hotzone) (#9727)
* Fixes for SZ detection

* Ruckuswireless devices

* remove registered mibs

* Code Climate Fixes

* updated test data for zd1100 & zd1200

* Updated database test data

* trying to fix smartzone test data

* updating zd test data

* more code climate fixes

* Update ruckuswireless-unleashed.yaml

* hide total clients if 1 ssid

* fixing smartzone ap status

* smartzone ap count fixes

* fixes because of git

* fix zd ap counts

* Update ruckuswireless-sz.json

* Update ZD1200 test Data

* Update ruckuswireless-sz.snmprec

* Update Database test data

* Update zd1200 database data

* Update ruckuswireless_zd1100.snmprec

* Update ruckuswireless_zd1100.json

* Update ruckuswireless_zd1100.json

* Update ruckuswireless_zd1100.json

* Code Climate Fixes

* Code Climate Fixes

* Update Ruckuswireless.php

* Code Format Fixes
2019-02-15 21:32:44 -06:00

72 lines
2.5 KiB
PHP

<?php
namespace LibreNMS\OS;
use LibreNMS\Device\WirelessSensor;
use LibreNMS\Interfaces\Discovery\Sensors\WirelessClientsDiscovery;
use LibreNMS\Interfaces\Discovery\Sensors\WirelessApCountDiscovery;
use LibreNMS\OS;
class RuckuswirelessSz extends OS implements
WirelessClientsDiscovery,
WirelessApCountDiscovery
{
public function discoverWirelessClients()
{
// clients - Discover Per SSID Client Count
$sensors = array();
$ssids = $this->getCacheByIndex('ruckusSZWLANSSID', 'RUCKUS-SZ-WLAN-MIB');
$counts = $this->getCacheByIndex('ruckusSZWLANNumSta', 'RUCKUS-SZ-WLAN-MIB');
$total_oids = array();
$total = 0;
foreach ($counts as $index => $count) {
$oid = '.1.3.6.1.4.1.25053.1.4.2.1.1.1.2.1.12.' . $index;
$total_oids[] = $oid;
$total += $count;
$sensors[] = new WirelessSensor(
'clients',
$this->getDeviceId(),
$oid,
'ruckuswireless-sz',
$index,
'SSID: ' . $ssids[$index],
$count
);
}
// Do not get total client count if only 1 SSID
if (count($total_oids) > 1) {
// clients - Discover System Total Client Count
$oid = '.1.3.6.1.4.1.25053.1.4.1.1.1.15.2.0'; //RUCKUS-SZ-SYSTEM-MIB::ruckusSZSystemStatsNumSta.0
array_push($sensors, new WirelessSensor('clients', $this->getDeviceId(), $oid, 'ruckuswireless-sz', ($index + 1), 'System Total:'));
}
return $sensors;
}
// ap-count - Discover System Connected APs
public function discoverWirelessApCount()
{
$apconnected = $this->getCacheByIndex('ruckusCtrlSystemNodeNumApConnected', 'RUCKUS-CTRL-MIB', '-OQUsb');
$dbindex = 0;
foreach ($apconnected as $index => $connect) {
$oid = '.1.3.6.1.4.1.25053.1.8.1.1.1.1.1.1.19.' . $index;
$apstatus[] = new WirelessSensor(
'ap-count',
$this->getDeviceId(),
$oid,
'ruckuswireless-sz',
++$dbindex,
'Connected APs',
$connect
);
}
// ap-count - Discover System Total APs
$oid = '.1.3.6.1.4.1.25053.1.4.1.1.1.15.1.0'; //RUCKUS-SZ-SYSTEM-MIB::ruckusSZSystemStatsNumAP.0
array_push($apstatus, new WirelessSensor('ap-count', $this->getDeviceId(), $oid, 'ruckuswireless-sz', ++$dbindex, 'Total APs'));
return $apstatus;
}
}