mirror of
https://github.com/librenms/librenms.git
synced 2024-09-22 19:08:15 +00:00
Merge pull request #2469 from thomseddon/feature/sub10-support
This commit is contained in:
commit
89a22efda3
BIN
html/images/os/sub10.png
Normal file
BIN
html/images/os/sub10.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
17
html/includes/graphs/device/sub10_sub10RadioLclAFER.inc.php
Normal file
17
html/includes/graphs/device/sub10_sub10RadioLclAFER.inc.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
$scale_max = 100;
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/sub10systems.rrd';
|
||||
|
||||
|
||||
if (file_exists($rrdfilename)) {
|
||||
$rrd_options .= " COMMENT:' Now Min Max\\n'";
|
||||
$rrd_options .= ' DEF:sub10RadioLclAFER='.$rrdfilename.':sub10RadioLclAFER:AVERAGE ';
|
||||
$rrd_options .= " LINE1:sub10RadioLclAFER#CC0000:'Percent ' ";
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclAFER:LAST:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclAFER:MIN:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclAFER:MAX:%3.2lf\\\l ';
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
// $scale_min = 0;
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/sub10systems.rrd';
|
||||
|
||||
|
||||
if (file_exists($rrdfilename)) {
|
||||
$rrd_options .= " COMMENT:'dBm Now Min Max\\n'";
|
||||
$rrd_options .= ' DEF:sub10RadioLclDataRa='.$rrdfilename.':sub10RadioLclDataRa:AVERAGE ';
|
||||
$rrd_options .= " LINE1:sub10RadioLclDataRa#CC0000:'Tx Power ' ";
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclDataRa:LAST:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclDataRa:MIN:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclDataRa:MAX:%3.2lf\\\l ';
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/sub10systems.rrd';
|
||||
|
||||
|
||||
if (file_exists($rrdfilename)) {
|
||||
$rrd_options .= " COMMENT:'dB Now Min Max\\n'";
|
||||
$rrd_options .= ' DEF:sub10RadioLclLnkLos='.$rrdfilename.':sub10RadioLclLnkLos:AVERAGE ';
|
||||
$rrd_options .= " LINE1:sub10RadioLclLnkLos#CC0000:'Link Loss ' ";
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclLnkLos:LAST:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclLnkLos:MIN:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclLnkLos:MAX:%3.2lf\\\l ';
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
$scale_max = 0;
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/sub10systems.rrd';
|
||||
|
||||
|
||||
if (file_exists($rrdfilename)) {
|
||||
$rrd_options .= " COMMENT:'dBm Now Min Max\\n'";
|
||||
$rrd_options .= ' DEF:sub10RadioLclRxPowe='.$rrdfilename.':sub10RadioLclRxPowe:AVERAGE ';
|
||||
$rrd_options .= " LINE1:sub10RadioLclRxPowe#CC0000:'Rx Power ' ";
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclRxPowe:LAST:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclRxPowe:MIN:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclRxPowe:MAX:%3.2lf\\\l ';
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
$scale_min = 0;
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/sub10systems.rrd';
|
||||
|
||||
|
||||
if (file_exists($rrdfilename)) {
|
||||
$rrd_options .= " COMMENT:'dBm Now Min Max\\n'";
|
||||
$rrd_options .= ' DEF:sub10RadioLclTxPowe='.$rrdfilename.':sub10RadioLclTxPowe:AVERAGE ';
|
||||
$rrd_options .= " LINE1:sub10RadioLclTxPowe#CC0000:'Tx Power ' ";
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclTxPowe:LAST:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclTxPowe:MIN:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclTxPowe:MAX:%3.2lf\\\l ';
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
$scale_max = 0;
|
||||
|
||||
require 'includes/graphs/common.inc.php';
|
||||
|
||||
$rrdfilename = $config['rrd_dir'].'/'.$device['hostname'].'/sub10systems.rrd';
|
||||
|
||||
|
||||
if (file_exists($rrdfilename)) {
|
||||
$rrd_options .= " COMMENT:'dB Now Min Max\\n'";
|
||||
$rrd_options .= ' DEF:sub10RadioLclVectEr='.$rrdfilename.':sub10RadioLclVectEr:AVERAGE ';
|
||||
$rrd_options .= " LINE1:sub10RadioLclVectEr#CC0000:'Vector Error ' ";
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclVectEr:LAST:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclVectEr:MIN:%3.2lf ';
|
||||
$rrd_options .= ' GPRINT:sub10RadioLclVectEr:MAX:%3.2lf\\\l ';
|
||||
}
|
||||
|
||||
|
||||
|
@ -511,6 +511,14 @@ $config['os'][$os]['icon'] = 'saf';
|
||||
$config['os'][$os]['over'][0]['graph'] = 'device_bits';
|
||||
$config['os'][$os]['over'][0]['text'] = 'Traffic';
|
||||
|
||||
// Sub10
|
||||
$os = 'sub10';
|
||||
$config['os'][$os]['text'] = 'Sub10 Systems';
|
||||
$config['os'][$os]['type'] = 'wireless';
|
||||
$config['os'][$os]['icon'] = 'sub10';
|
||||
$config['os'][$os]['over'][0]['graph'] = 'device_bits';
|
||||
$config['os'][$os]['over'][0]['text'] = 'Traffic';
|
||||
|
||||
// Supermicro Switch
|
||||
$os = 'supermicro-switch';
|
||||
$config['os'][$os]['group'] = 'supermicro';
|
||||
@ -1546,6 +1554,31 @@ $config['graph_types']['device']['siklu_rfinterfaceOtherOctets']['section'] = 'w
|
||||
$config['graph_types']['device']['siklu_rfinterfaceOtherOctets']['order'] = '6';
|
||||
$config['graph_types']['device']['siklu_rfinterfaceOtherOctets']['descr'] = 'Other Octets';
|
||||
|
||||
// Sub10 support
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclTxPower']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclTxPower']['order'] = '0';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclTxPower']['descr'] = 'Radio Transmit Power';
|
||||
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclRxPower']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclRxPower']['order'] = '1';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclRxPower']['descr'] = 'Radio Receive Power';
|
||||
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclVectErr']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclVectErr']['order'] = '3';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclVectErr']['descr'] = 'Radio Vector Error';
|
||||
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclLnkLoss']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclLnkLoss']['order'] = '3';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclLnkLoss']['descr'] = 'Radio Link Loss';
|
||||
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclAFER']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclAFER']['order'] = '4';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclAFER']['descr'] = 'Radio Air Frame Error Rate';
|
||||
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclDataRate']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclDataRate']['order'] = '4';
|
||||
$config['graph_types']['device']['sub10_sub10RadioLclDataRate']['descr'] = 'Data Rate on the Airside interface';
|
||||
|
||||
$config['graph_types']['device']['wifi_clients']['section'] = 'wireless';
|
||||
$config['graph_types']['device']['wifi_clients']['order'] = '0';
|
||||
$config['graph_types']['device']['wifi_clients']['descr'] = 'Wireless Clients';
|
||||
|
10
includes/discovery/os/sub10.inc.php
Normal file
10
includes/discovery/os/sub10.inc.php
Normal file
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
/*
|
||||
* LibreNMS Sub10 OS information module
|
||||
*/
|
||||
|
||||
if (!$os) {
|
||||
if (strstr($sysObjectId, '.1.3.6.1.4.1.39003')) {
|
||||
$os = 'sub10';
|
||||
}
|
||||
}
|
33
includes/discovery/temperatures/sub10.inc.php
Normal file
33
includes/discovery/temperatures/sub10.inc.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
if ($device['os'] == 'sub10') {
|
||||
echo 'Sub10 temperature ';
|
||||
|
||||
// Get Current Value
|
||||
$temp_oid = 'sub10UnitLclMWUTemperature.0';
|
||||
list($oid, $current) = explode(' ', snmp_get($device, $temp_oid, '-OsqnU', 'SUB10SYSTEMS-MIB'));
|
||||
|
||||
// Get Alarm Ranges
|
||||
$alarm_oid = 'sub10UnitMgmtAlarmName';
|
||||
$alarms = snmp_walk($device, $alarm_oid, '-OsqU', 'SUB10SYSTEMS-MIB');
|
||||
$indexes = array();
|
||||
foreach (explode("\n", $alarms) as $alarm) {
|
||||
if (preg_match('/^\w+\.(\d) MWU Temperature (.*)$/', $alarm, $matches)) {
|
||||
$indexes[strtolower($matches[2])] = $matches[1];
|
||||
}
|
||||
}
|
||||
|
||||
$thresh_oid = 'sub10UnitMgmtAlarmRaiseThresh';
|
||||
$threshes = snmp_walk($device, $thresh_oid, '-OsqU', 'SUB10SYSTEMS-MIB');
|
||||
$thresholds = array();
|
||||
foreach (explode("\n", $threshes) as $thresh) {
|
||||
preg_match('/^\w+\.(\d) (.*)$/', $thresh, $matches);
|
||||
$thresholds[$matches[1]] = $matches[2];
|
||||
}
|
||||
|
||||
// Create Sensor
|
||||
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $oid,
|
||||
'sub10', 'Modem', '1', '1', $thresholds[$indexes['low']],
|
||||
null, null, $thresholds[$indexes['high']],
|
||||
$current);
|
||||
}
|
@ -386,8 +386,12 @@ function poll_mib_def($device, $mib_name_table, $mib_subdir, $mib_oids, $mib_gra
|
||||
$fields = array();
|
||||
foreach ($oidglist as $fulloid) {
|
||||
list($splitoid, $splitindex) = explode('.', $fulloid, 2);
|
||||
if (is_numeric($snmpdata[$splitindex][$splitoid])) {
|
||||
$fields[$oidnamelist[$oid_count]] = $snmpdata[$splitindex][$splitoid];
|
||||
$val = $snmpdata[$splitindex][$splitoid];
|
||||
if (is_numeric($val)) {
|
||||
$rrdupdate .= ':'.$val;
|
||||
}
|
||||
elseif (preg_match("/^\"(.*)\"$/", $val, $number) && is_numeric($number[1])) {
|
||||
$rrdupdate .= ':'.$number[1];
|
||||
}
|
||||
else {
|
||||
$fields[$oidnamelist[$oid_count]] = 'U';
|
||||
|
56
includes/polling/mib/sub10-mib.inc.php
Normal file
56
includes/polling/mib/sub10-mib.inc.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
|
||||
echo ' Sub10 Systems';
|
||||
|
||||
$mib_oids = array(
|
||||
'sub10RadioLclTxPower' => array(
|
||||
'0',
|
||||
'sub10RadioLclTxPower',
|
||||
'Transmit Power',
|
||||
'GAUGE',
|
||||
),
|
||||
'sub10RadioLclRxPower' => array(
|
||||
'0',
|
||||
'sub10RadioLclRxPower',
|
||||
'Receive Power',
|
||||
'GAUGE',
|
||||
),
|
||||
'sub10RadioLclVectErr' => array(
|
||||
'0',
|
||||
'sub10RadioLclVectErr',
|
||||
'Vector Error',
|
||||
'GAUGE',
|
||||
),
|
||||
'sub10RadioLclLnkLoss' => array(
|
||||
'0',
|
||||
'sub10RadioLclLnkLoss',
|
||||
'Link Loss',
|
||||
'GAUGE',
|
||||
),
|
||||
'sub10RadioLclAFER' => array(
|
||||
'0',
|
||||
'sub10RadioLclAFER',
|
||||
'Air Frame Error Rate',
|
||||
'GAUGE',
|
||||
),
|
||||
'sub10RadioLclDataRate' => array(
|
||||
'0',
|
||||
'sub10RadioLclDataRate',
|
||||
'Data Rate on Airside interface',
|
||||
'GAUGE',
|
||||
),
|
||||
);
|
||||
|
||||
$mib_graphs = array(
|
||||
'sub10_sub10RadioLclTxPower',
|
||||
'sub10_sub10RadioLclRxPower',
|
||||
'sub10_sub10RadioLclVectErr',
|
||||
'sub10_sub10RadioLclLnkLoss',
|
||||
'sub10_sub10RadioLclAFER',
|
||||
'sub10RadioLclDataRate'
|
||||
);
|
||||
|
||||
unset($graph, $oids, $oid);
|
||||
|
||||
poll_mib_def($device, 'SUB10SYSTEMS-MIB:sub10Systems', 'sub10', $mib_oids, $mib_graphs, $graphs);
|
||||
|
8
includes/polling/os/sub10.inc.php
Normal file
8
includes/polling/os/sub10.inc.php
Normal file
@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
if (preg_match("/Sub10 Systems - ([\s\d\w]+)/", $poll_device['sysDescr'], $hardware)) {
|
||||
$hardware = $hardware[1];
|
||||
}
|
||||
|
||||
$version = str_replace('"', '', snmp_get($device, 'sub10UnitLclFirmwareVersion.0', '-Osqnv', 'SUB10SYSTEMS-MIB'));
|
||||
$serial = str_replace('"', '', snmp_get($device, 'sub10UnitLclHWSerialNumber.0', '-Osqnv', 'SUB10SYSTEMS-MIB'));
|
@ -18,6 +18,11 @@ if ($device['type'] == 'network' || $device['type'] == 'firewall' || $device['ty
|
||||
include 'includes/polling/mib/siklu-mib.inc.php';
|
||||
}
|
||||
|
||||
if ($device['os'] == 'sub10') {
|
||||
echo "It is Sub10\n";
|
||||
include 'includes/polling/mib/sub10-mib.inc.php';
|
||||
}
|
||||
|
||||
// # GENERIC FRAMEWORK, FILLING VARIABLES
|
||||
if ($device['os'] == 'airport') {
|
||||
echo 'Checking Airport Wireless clients... ';
|
||||
|
9352
mibs/SUB10SYSTEMS-MIB-201506030000Z.mib
Normal file
9352
mibs/SUB10SYSTEMS-MIB-201506030000Z.mib
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user