feature: Enhance Unifi Wireless Client count for multiple VAPs (#4794)

This commit is contained in:
Justin Settle
2016-10-14 19:10:12 -04:00
committed by Neil Lathwood
parent fb677beb72
commit 098dc69f25

View File

@@ -4,19 +4,19 @@ if ($device['type'] == 'network' || $device['type'] == 'firewall' || $device['ty
if ($device['os'] == 'airos') {
echo 'It Is Airos' . PHP_EOL;
include 'includes/polling/mib/ubnt-airmax-mib.inc.php';
} else if ($device['os'] == 'airos-af') {
} elseif ($device['os'] == 'airos-af') {
echo 'It Is AirFIBER' . PHP_EOL;
include 'includes/polling/mib/ubnt-airfiber-mib.inc.php';
} else if ($device['os'] == 'siklu') {
} elseif ($device['os'] == 'siklu') {
echo 'It is Siklu' . PHP_EOL;
include 'includes/polling/mib/siklu-mib.inc.php';
} else if ($device['os'] == 'saf') {
} elseif ($device['os'] == 'saf') {
echo 'It is SAF Tehnika' . PHP_EOL;
include 'includes/polling/mib/saf-mib.inc.php';
} else if ($device['os'] == 'sub10') {
} elseif ($device['os'] == 'sub10') {
echo 'It is Sub10' . PHP_EOL;
include 'includes/polling/mib/sub10-mib.inc.php';
} else if ($device['os'] == 'airport') {
} elseif ($device['os'] == 'airport') {
// # GENERIC FRAMEWORK, FILLING VARIABLES
echo 'Checking Airport Wireless clients... ';
@@ -25,18 +25,18 @@ if ($device['type'] == 'network' || $device['type'] == 'firewall' || $device['ty
echo $wificlients1." clients\n";
// FIXME Also interesting to poll? dhcpNumber.0 for number of active dhcp leases
} else if ($device['os'] == 'ios' and substr($device['hardware'], 0, 4) == 'AIR-' || ($device['os'] == 'ios' && strpos($device['hardware'], 'ciscoAIR') !== false)) {
} elseif ($device['os'] == 'ios' and substr($device['hardware'], 0, 4) == 'AIR-' || ($device['os'] == 'ios' && strpos($device['hardware'], 'ciscoAIR') !== false)) {
echo 'Checking Aironet Wireless clients... ';
$wificlients1 = snmp_get($device, 'cDot11ActiveWirelessClients.1', '-OUqnv', 'CISCO-DOT11-ASSOCIATION-MIB');
$wificlients2 = snmp_get($device, 'cDot11ActiveWirelessClients.2', '-OUqnv', 'CISCO-DOT11-ASSOCIATION-MIB');
echo (($wificlients1 + 0).' clients on dot11Radio0, '.($wificlients2 + 0)." clients on dot11Radio1\n");
} else if ($device['os'] == 'hpmsm') {
} elseif ($device['os'] == 'hpmsm') {
echo 'Checking HP MSM Wireless clients... ';
$wificlients1 = snmp_get($device, '.1.3.6.1.4.1.8744.5.25.1.7.2.0', '-OUqnv');
echo $wificlients1." clients\n";
} else if ($device['os'] == 'routeros') {
} elseif ($device['os'] == 'routeros') {
// MikroTik RouterOS
// Check inventory for wireless card in device. Valid types be here:
$wirelesscards = array(
@@ -55,19 +55,28 @@ if ($device['type'] == 'network' || $device['type'] == 'firewall' || $device['ty
unset($wirelesscards);
}
} else if ($device['os'] == 'symbol' and (stristr($device['hardware'], 'AP'))) {
} elseif ($device['os'] == 'symbol' and (stristr($device['hardware'], 'AP'))) {
echo 'Checking Symbol Wireless clients... ';
$wificlients1 = snmp_get($device, '.1.3.6.1.4.1.388.11.2.4.2.100.10.1.18.1', '-Ovq', '""');
echo (($wificlients1 + 0).' clients on wireless connector, ');
} else if ($device['os'] == 'unifi') {
} elseif ($device['os'] == 'unifi') {
echo 'Checking Unifi Wireless clients... ';
$wificlients1 = snmp_get($device, '.1.3.6.1.4.1.41112.1.6.1.2.1.8.0', '-Ovq', '""');
$wificlients2 = snmp_get($device, '.1.3.6.1.4.1.41112.1.6.1.2.1.8.1', '-Ovq', '""');
$clients = snmp_walk($device, '.1.3.6.1.4.1.41112.1.6.1.2.1.8', '-Oqv');
$bands = snmp_walk($device, '.1.3.6.1.4.1.41112.1.6.1.2.1.9', '-Oqv');
$clients = explode("\n", $clients);
$bands = explode("\n", $bands);
foreach ($bands as $index => $band_index) {
if ($band_index == "ng") {
$wificlients1 = $wificlients1 + $clients[$index] + 0;
} else {
$wificlients2 = $wificlients2 + $clients[$index] + 0;
}
}
echo (($wificlients1 + 0).' clients on radio0, '.($wificlients2 + 0)." clients on radio1\n");
echo (($wificlients1 + 0).' clients on Radio0, '.($wificlients2 + 0)." clients on Radio1\n");
}
if (isset($wificlients1) && $wificlients1 != '') {