mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
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
This commit is contained in:
71
LibreNMS/OS/RuckuswirelessSz.php
Normal file
71
LibreNMS/OS/RuckuswirelessSz.php
Normal file
@@ -0,0 +1,71 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user