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:
djamp42
2019-02-15 22:32:44 -05:00
committed by Tony Murray
parent 4f7a71c09f
commit e572d2a144
43 changed files with 11444 additions and 830 deletions

View File

@@ -0,0 +1,8 @@
mib: RUCKUS-SYSTEM-MIB
modules:
processors:
data:
-
oid: ruckusSystemCPUUtil
num_oid: '.1.3.6.1.4.1.25053.1.1.11.1.1.1.1.0'
type: ruckuswireless

View File

@@ -0,0 +1,8 @@
mib: RUCKUS-UNLEASHED-SYSTEM-MIB
modules:
processors:
data:
-
oid: ruckusUnleashedSystemStatsCPUUtil
num_oid: '.1.3.6.1.4.1.25053.1.15.1.1.1.15.13.0'
type: ruckuswireless

View File

@@ -0,0 +1,16 @@
os: ruckuswireless-hotzone
text: 'Ruckus Wireless HotZone'
type: wireless
icon: ruckus
mib_dir:
- ruckus
over:
- { graph: device_bits, text: Traffic }
- { graph: device_wireless_clients, text: 'Number of Clients' }
discovery:
- sysObjectID:
- .1.3.6.1.4.1.25053.3.1.4
poller_modules:
wireless: true
discovery_modules:
wireless: true

View File

@@ -0,0 +1,31 @@
os: ruckuswireless-sz
text: 'Ruckus Wireless SmartZone'
type: wireless
icon: ruckus
mib_dir:
- ruckus
over:
- { graph: device_bits, text: Traffic }
- { graph: device_wireless_ap-count, text: 'Number of APs' }
- { graph: device_wireless_clients, text: 'Number of Clients' }
discovery:
- sysObjectID:
- .1.3.6.1.4.1.25053.3.1.11.1
ignore_mount_string:
- ruckuswireles
- etc
- var
- java
- cassandra
- home
- usr
- boot_mbr
- dev
- cgroup
- media
- tmp
- data
poller_modules:
wireless: true
discovery_modules:
wireless: true

View File

@@ -0,0 +1,21 @@
os: ruckuswireless-unleashed
text: 'Ruckus Wireless Unleashed'
type: wireless
icon: ruckus
mib_dir:
- ruckus
over:
- { graph: device_bits, text: Traffic }
- { graph: device_wireless_ap-count, text: 'Connected APs' }
- { graph: device_wireless_clients, text: 'Number of Clients' }
discovery:
-
sysObjectID: .1.3.6.1.4.1.25053.3.1.5.15
snmpget_except:
oid: '.1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0'
op: starts
value: [ ZD, zd ]
poller_modules:
wireless: true
discovery_modules:
wireless: true

View File

@@ -1,12 +1,12 @@
os: ruckuswireless
text: 'Ruckus Wireless'
text: 'Ruckus Wireless ZoneDirector'
type: wireless
icon: ruckus
mib_dir:
- ruckus
over:
- { graph: device_bits, text: Traffic }
- { graph: device_wireless_ap-count, text: 'Connected APs' }
- { graph: device_wireless_ap-count, text: 'Number of APs' }
- { graph: device_wireless_clients, text: 'Number of Clients' }
register_mibs:
ruckusZDSystemStats: RUCKUS-ZD-SYSTEM-MIB
@@ -14,5 +14,12 @@ register_mibs:
ruckusZDWLANAPTable: RUCKUS-ZD-WLAN-MIB
ruckusZDWLANAPRadioStatsTable: RUCKUS-ZD-WLAN-MIB
discovery:
- sysObjectID:
- .1.3.6.1.4.1.25053.3.1
- sysObjectID: .1.3.6.1.4.1.25053.3.1.5
snmpget:
oid: '.1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0'
op: starts
value: [ ZD, zd ]
poller_modules:
wireless: true
discovery_modules:
wireless: true

View File

@@ -0,0 +1,11 @@
<?php
if ($device['os'] === 'ruckuswireless-hotzone') {
echo 'Ruckus Hotzone: ';
$usage = snmp_get($device, '.1.3.6.1.4.1.25053.1.1.11.1.1.1.2.0', '-OvQ');
if (is_numeric($usage)) {
discover_mempool($valid_mempool, $device, 0, 'ruckuswireless-hotzone', 'System Memory', '100', null, null);
}
}

View File

@@ -0,0 +1,11 @@
<?php
if ($device['os'] === 'ruckuswireless-unleashed') {
echo 'Ruckus Unleashed: ';
$usage = snmp_get($device, '.1.3.6.1.4.1.25053.1.15.1.1.1.15.14.0', '-OvQ');
if (is_numeric($usage)) {
discover_mempool($valid_mempool, $device, 0, 'ruckuswireless-unleashed', 'System Memory', '100', null, null);
}
}

View File

@@ -0,0 +1,11 @@
<?php
if ($device['os'] === 'ruckuswireless') {
echo 'Ruckus Zone Director: ';
$usage = snmp_get($device, '.1.3.6.1.4.1.25053.1.2.1.1.1.5.59.0', '-OvQ');
if (is_numeric($usage)) {
discover_mempool($valid_mempool, $device, '0', 'ruckuswireless', 'System Memory', '100', null, null);
}
}

View File

@@ -0,0 +1,11 @@
<?php
echo 'Ruckus Wireless: ';
$perc = snmp_get($device, ".1.3.6.1.4.1.25053.1.1.11.1.1.1.2.0", '-OvQ');
if (is_numeric($perc)) {
$mempool['perc'] = $perc;
$mempool['used'] = $perc;
$mempool['total'] = 100;
$mempool['free'] = 100 - $perc;
}

View File

@@ -0,0 +1,11 @@
<?php
echo 'Ruckus Wireless: ';
$perc = snmp_get($device, ".1.3.6.1.4.1.25053.1.15.1.1.1.15.14.0", '-OvQ');
if (is_numeric($perc)) {
$mempool['perc'] = $perc;
$mempool['used'] = $perc;
$mempool['total'] = 100;
$mempool['free'] = 100 - $perc;
}

View File

@@ -0,0 +1,12 @@
<?php
echo 'Ruckus Wireless';
$perc = snmp_get($device, "ruckusZDSystemMemoryUtil.0", '-OvQ', 'RUCKUS-ZD-SYSTEM-MIB');
if (is_numeric($perc)) {
$mempool['perc'] = $perc;
$mempool['used'] = $perc;
$mempool['total'] = 100;
$mempool['free'] = 100 - $perc;
}

View File

@@ -0,0 +1,26 @@
<?php
/*
* LibreNMS Ruckus Wireless OS information module
*
* Originally by:
* Copyright (c) 2015 Søren Friis Rosiak <sorenrosiak@gmail.com>
*
* Updates by Paul Gear:
* Copyright (c) 2015 Gear Consulting Pty Ltd <github@libertysys.com.au>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
$ruckus_data = snmp_get_multi_oid($device, ['.1.3.6.1.4.1.25053.1.1.2.1.1.1.1.0', '.1.3.6.1.4.1.25053.1.1.3.1.1.1.1.1.3.1', '.1.3.6.1.4.1.25053.1.1.2.1.1.1.2.0', '.1.3.6.1.4.1.25053.1.1.4.1.1.1.4.0']);
$hardware = $ruckus_data['.1.3.6.1.4.1.25053.1.1.2.1.1.1.1.0'];
$version = $ruckus_data['.1.3.6.1.4.1.25053.1.1.3.1.1.1.1.1.3.1'];
$serial = $ruckus_data['.1.3.6.1.4.1.25053.1.1.2.1.1.1.2.0'];
$ruckuscountry = $ruckus_data['.1.3.6.1.4.1.25053.1.1.4.1.1.1.4.0'];
if (isset($ruckuscountry) && $ruckuscountry != '') {
$version .= " ($ruckuscountry)";
}

View File

@@ -0,0 +1,26 @@
<?php
/*
* LibreNMS Ruckus Wireless OS information module
*
* Originally by:
* Copyright (c) 2015 Søren Friis Rosiak <sorenrosiak@gmail.com>
*
* Updates by Paul Gear:
* Copyright (c) 2015 Gear Consulting Pty Ltd <github@libertysys.com.au>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
$hardware = snmp_getnext($device, '.1.3.6.1.4.1.25053.1.8.1.1.1.1.1.1.3', "-OQv");
$version = snmp_getnext($device, '.1.3.6.1.4.1.25053.1.8.1.1.1.1.1.1.9', "-OQv");
$serial = snmp_get($device, '.1.3.6.1.4.1.25053.1.4.1.1.1.15.13.0', "-OQv");
$features = "Licenses: " . snmp_get($device, '.1.3.6.1.4.1.25053.1.4.1.1.1.15.1.0', "-OQv") . "/" . snmp_getnext($device, '.1.3.6.1.4.1.25053.1.8.1.1.1.1.1.1.10', "-OQv");
$ruckuscountry = snmp_getnext($device, '.1.3.6.1.4.1.25053.1.8.1.1.1.1.3.1.4', "-OQv");
if (isset($ruckuscountry) && $ruckuscountry != '') {
$version .= " ($ruckuscountry)";
}

View File

@@ -0,0 +1,26 @@
<?php
/*
* LibreNMS Ruckus Wireless OS information module
*
* Originally by:
* Copyright (c) 2015 Søren Friis Rosiak <sorenrosiak@gmail.com>
*
* Updates by Paul Gear:
* Copyright (c) 2015 Gear Consulting Pty Ltd <github@libertysys.com.au>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
$ruckus_data = snmp_get_multi_oid($device, ['.1.3.6.1.4.1.25053.1.15.1.1.1.1.18.0', '.1.3.6.1.4.1.25053.1.15.1.1.1.1.15.0', '.1.3.6.1.4.1.25053.1.15.1.1.1.1.9.0', '.1.3.6.1.4.1.25053.1.15.1.1.1.1.20.0']);
$version = $ruckus_data['.1.3.6.1.4.1.25053.1.15.1.1.1.1.18.0'];
$serial = $ruckus_data['.1.3.6.1.4.1.25053.1.15.1.1.1.1.15.0'];
$hardware = $ruckus_data['.1.3.6.1.4.1.25053.1.15.1.1.1.1.9.0'];
$ruckuscountry = $ruckus_data['.1.3.6.1.4.1.25053.1.15.1.1.1.1.20.0'];
if (isset($ruckuscountry) && $ruckuscountry != '') {
$version .= " ($ruckuscountry)";
}

View File

@@ -15,31 +15,14 @@
* the source code distribution for details.
*/
$productmib = trim($device['sysObjectID'], '" ');
$ruckus_data = snmp_get_multi_oid($device, ['.1.3.6.1.4.1.25053.1.2.1.1.1.1.18.0', '.1.3.6.1.4.1.25053.1.2.1.1.1.1.15.0', '.1.3.6.1.4.1.25053.1.2.1.1.1.1.12.0', '.1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0', '.1.3.6.1.4.1.25053.1.2.1.1.1.1.20.0', '.1.3.6.1.4.1.25053.1.2.1.1.1.15.15.0']);
$ruckusmodels = array(
"$productmib.5.0",
'.1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0',
'.1.3.6.1.4.1.25053.1.1.2.1.1.1.1.0',
'.1.3.6.1.2.1.1.1.0',
);
$ruckusversions = array(
"$productmib.8.0",
'.1.3.6.1.4.1.25053.1.1.3.1.1.1.1.1.3.1',
);
$ruckusserials = array(
"$productmib.7.0",
'.1.3.6.1.4.1.25053.1.1.2.1.1.1.2.0',
);
$ruckuscountries = array(
"$productmib.9.0",
'.1.3.6.1.4.1.25053.1.2.1.1.1.1.20',
);
$version = $ruckus_data['.1.3.6.1.4.1.25053.1.2.1.1.1.1.18.0'];
$serial = $ruckus_data['.1.3.6.1.4.1.25053.1.2.1.1.1.1.15.0'];
$features = "Licenses: " . $ruckus_data['.1.3.6.1.4.1.25053.1.2.1.1.1.15.15.0'] . "/" . $ruckus_data['.1.3.6.1.4.1.25053.1.2.1.1.1.1.12.0'];
$hardware = $ruckus_data['.1.3.6.1.4.1.25053.1.2.1.1.1.1.9.0'];
$ruckuscountry = $ruckus_data['.1.3.6.1.4.1.25053.1.2.1.1.1.1.20.0'];
$hardware = first_oid_match($device, $ruckusmodels);
$version = first_oid_match($device, $ruckusversions);
$serial = first_oid_match($device, $ruckusserials);
$ruckuscountry = first_oid_match($device, $ruckuscountries);
if (isset($ruckuscountry) && $ruckuscountry != '') {
$version .= " ($ruckuscountry)";
}