From 1b7d3e0ab89ea1c48af1be13dc4f0c92de58e686 Mon Sep 17 00:00:00 2001 From: Neil Lathwood Date: Fri, 6 Jan 2017 04:12:58 +0000 Subject: [PATCH] newdevice: added more support for dasan-nos (#5298) --- includes/definitions/dasan-nos.yaml | 2 ++ includes/discovery/mempools/dasan-nos.inc.php | 35 +++++++++++++++++++ .../discovery/processors/dasan-nos.inc.php | 33 +++++++++++++++++ includes/polling/mempools/dasan-nos.inc.php | 28 +++++++++++++++ includes/polling/os/dasan-nos.inc.php | 5 ++- includes/polling/processors/dasan-nos.inc.php | 26 ++++++++++++++ mibs/dasan/DASAN-PRODUCTS-MIB | 2 +- mibs/dasan/DASAN-SWITCH-MIB | 2 +- 8 files changed, 130 insertions(+), 3 deletions(-) create mode 100644 includes/discovery/mempools/dasan-nos.inc.php create mode 100644 includes/discovery/processors/dasan-nos.inc.php create mode 100644 includes/polling/mempools/dasan-nos.inc.php create mode 100644 includes/polling/processors/dasan-nos.inc.php diff --git a/includes/definitions/dasan-nos.yaml b/includes/definitions/dasan-nos.yaml index 9002d3f327..c1c5e2592d 100644 --- a/includes/definitions/dasan-nos.yaml +++ b/includes/definitions/dasan-nos.yaml @@ -6,6 +6,8 @@ mib_dir: - dasan over: - { graph: device_bits, text: 'Device Traffic' } + - { graph: device_processor, text: 'CPU Usage' } + - { graph: device_mempool, text: 'Memory Usage' } discovery: - sysObjectId: - .1.3.6.1.4.1.6296.1.2.5 \ No newline at end of file diff --git a/includes/discovery/mempools/dasan-nos.inc.php b/includes/discovery/mempools/dasan-nos.inc.php new file mode 100644 index 0000000000..9f10277e16 --- /dev/null +++ b/includes/discovery/mempools/dasan-nos.inc.php @@ -0,0 +1,35 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Neil Lathwood + * @author Neil Lathwood + */ + +if ($device['os'] === 'dasan-nos') { + echo 'Dasan NOS: '; + + $total = snmp_get($device, 'dsTotalMem.0', '-OvQU', 'DASAN-SWITCH-MIB', 'dasan'); + $used = snmp_get($device, 'dsUsedMem.0', '-OvQU', 'DASAN-SWITCH-MIB', 'dasan'); + $free = snmp_get($device, 'dsFreeMem.0', '-OvQU', 'DASAN-SWITCH-MIB', 'dasan'); + if (is_numeric($total) && is_numeric($used) && is_numeric($free)) { + discover_mempool($valid_mempool, $device, 0, 'dasan-nos', 'Memory Utilization', '1', null, null); + } +} diff --git a/includes/discovery/processors/dasan-nos.inc.php b/includes/discovery/processors/dasan-nos.inc.php new file mode 100644 index 0000000000..d9ea9e020a --- /dev/null +++ b/includes/discovery/processors/dasan-nos.inc.php @@ -0,0 +1,33 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Neil Lathwood + * @author Neil Lathwood + */ + +if ($device['os'] === 'dasan-nos') { + echo 'Dasan NOS : '; + $descr = 'Processor'; + $usage = snmp_get($device, 'dsCpuLoad5s.0', '-Ovq', 'DASAN-SWITCH-MIB', 'dasan'); + if (is_numeric($usage)) { + discover_processor($valid['processor'], $device, 'dsCpuLoad5s.0', '0', 'dasan-nos', $descr, '1', $usage); + } +} diff --git a/includes/polling/mempools/dasan-nos.inc.php b/includes/polling/mempools/dasan-nos.inc.php new file mode 100644 index 0000000000..f7b7aef0c2 --- /dev/null +++ b/includes/polling/mempools/dasan-nos.inc.php @@ -0,0 +1,28 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Neil Lathwood + * @author Neil Lathwood + */ + +$mempool['total'] = snmp_get($device, 'dsTotalMem.0', '-OvQU', 'DASAN-SWITCH-MIB'); +$mempool['used'] = snmp_get($device, 'dsUsedMem.0', '-OvQU', 'DASAN-SWITCH-MIB'); +$mempool['free'] = snmp_get($device, 'dsFreeMem.0', '-OvQU', 'DASAN-SWITCH-MIB'); diff --git a/includes/polling/os/dasan-nos.inc.php b/includes/polling/os/dasan-nos.inc.php index 9510ccc3e0..e9fec77223 100644 --- a/includes/polling/os/dasan-nos.inc.php +++ b/includes/polling/os/dasan-nos.inc.php @@ -25,4 +25,7 @@ list($hardware, $version) = explode(' ', $poll_device['sysDescr'], 2); -$version = preg_replace('/\/(.*)/', '', $version); +$tmp = snmp_get_multi_oid($device, 'dsSerialNumber.0 dsFirmwareVersion', '-OQUs', 'DASAN-SWITCH-MIB:DASAN-PRODUCTS-MIB'); + +$serial = $tmp['dsSerialNumber.0']; +$version = $tmp['dsFirmwareVersion.0']; diff --git a/includes/polling/processors/dasan-nos.inc.php b/includes/polling/processors/dasan-nos.inc.php new file mode 100644 index 0000000000..9a7fe47fd0 --- /dev/null +++ b/includes/polling/processors/dasan-nos.inc.php @@ -0,0 +1,26 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2016 Neil Lathwood + * @author Neil Lathwood + */ + +$proc = snmp_get($device, 'dsCpuLoad5s.0', '-Ovq', 'DASAN-SWITCH-MIB'); diff --git a/mibs/dasan/DASAN-PRODUCTS-MIB b/mibs/dasan/DASAN-PRODUCTS-MIB index 1d7ec743d8..73f9582d22 100644 --- a/mibs/dasan/DASAN-PRODUCTS-MIB +++ b/mibs/dasan/DASAN-PRODUCTS-MIB @@ -485,7 +485,7 @@ v5924MD OBJECT IDENTIFIER ::= { v5900 23 } v5924P OBJECT IDENTIFIER ::= { v5900 24 } v5908P OBJECT IDENTIFIER ::= { v5900 25 } v5924C-R OBJECT IDENTIFIER ::= { v5900 26 } -smc7824M_VSW OBJECT IDENTIFIER ::= { v5900 27 } +smc7824MVSW OBJECT IDENTIFIER ::= { v5900 27 } v5924O OBJECT IDENTIFIER ::= { v5900 28 } v5908O OBJECT IDENTIFIER ::= { v5900 29 } v5904 OBJECT IDENTIFIER ::= { v5900 30 } diff --git a/mibs/dasan/DASAN-SWITCH-MIB b/mibs/dasan/DASAN-SWITCH-MIB index aaf1432d81..01ff6004ff 100644 --- a/mibs/dasan/DASAN-SWITCH-MIB +++ b/mibs/dasan/DASAN-SWITCH-MIB @@ -3266,7 +3266,7 @@ v30a(15), v12a997(16), v12b997(17), - v17a_8k(18) + v17a8k(18) } MAX-ACCESS read-write STATUS current