mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
newdevice: Added Cpu/Mem support for dnos and ftos devices and updated detection (#6897)
This commit is contained in:
committed by
Tony Murray
parent
2ee679276a
commit
8b806a857a
@@ -10,5 +10,9 @@ over:
|
|||||||
- { graph: device_processor, text: 'CPU Usage' }
|
- { graph: device_processor, text: 'CPU Usage' }
|
||||||
- { graph: device_mempool, text: 'Memory Usage' }
|
- { graph: device_mempool, text: 'Memory Usage' }
|
||||||
discovery:
|
discovery:
|
||||||
- sysObjectId:
|
-
|
||||||
- .1.3.6.1.4.1.6027.1.
|
sysObjectId:
|
||||||
|
- .1.3.6.1.4.1.6027.1.
|
||||||
|
sysDescr_except:
|
||||||
|
- Force10 Operating System
|
||||||
|
- Force10 Networks Real Time Operating System Software
|
@@ -11,3 +11,4 @@ over:
|
|||||||
discovery:
|
discovery:
|
||||||
- sysDescr:
|
- sysDescr:
|
||||||
- Force10 Operating System
|
- Force10 Operating System
|
||||||
|
- Force10 Networks Real Time Operating System Software
|
||||||
|
24
includes/discovery/mempools/dnos-ftos.inc.php
Normal file
24
includes/discovery/mempools/dnos-ftos.inc.php
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// Code borrowed and modified from 'powerconnect-cpu.inc.php'
|
||||||
|
|
||||||
|
if ($device['os'] == 'dnos' || $device['os'] == 'ftos') {
|
||||||
|
echo 'DNOS-MEMORY-POOL: ';
|
||||||
|
|
||||||
|
if (preg_match('/.6027.1.3.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
$total = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB');
|
||||||
|
if (is_numeric($total)) {
|
||||||
|
discover_mempool($valid_mempool, $device, 0, $device['os'], 'Memory Utilization', '1', null, null);
|
||||||
|
}
|
||||||
|
} elseif (preg_match('/.6027.1.2.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
$total = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-C-SERIES-CHASSIS-MIB');
|
||||||
|
if (is_numeric($total)) {
|
||||||
|
discover_mempool($valid_mempool, $device, 0, $device['os'], 'Memory Utilization', '1', null, null);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$free = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
||||||
|
if (is_numeric($free)) {
|
||||||
|
discover_mempool($valid_mempool, $device, 0, $device['os'], 'Memory Utilization', '1', null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,23 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
// Code borrowed and modified from 'powerconnect-cpu.inc.php'
|
|
||||||
|
|
||||||
if ($device['os'] == 'dnos') {
|
|
||||||
echo 'DNOS-MEMORY-POOL: ';
|
|
||||||
|
|
||||||
$get_series = explode('.', snmp_get($device, 'mib-2.1.2.0', '-Onvsbq', 'F10-PRODUCTS-MIB', 'dnos'), 2); // Get series From MIB
|
|
||||||
$series = $get_series[0];
|
|
||||||
if ($series == 'f10SSeriesProducts') {
|
|
||||||
$total = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB');
|
|
||||||
$used = $mempool['total'] * (snmp_get($device, 'F10-S-SERIES-CHASSIS-MIB::chStackUnitMemUsageUtil.1', '-OvQU')/ 100);
|
|
||||||
$free = ($mempool['total'] - $mempool['used']);
|
|
||||||
if (is_numeric($total) && is_numeric($used)) {
|
|
||||||
discover_mempool($valid_mempool, $device, 0, 'dnos-mem', 'Memory Utilization', '1', null, null);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$free = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
|
||||||
if (is_numeric($free)) {
|
|
||||||
discover_mempool($valid_mempool, $device, 0, 'dnos-mem', 'Memory Utilization', '1', null, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
19
includes/discovery/processors/dnos-ftos.inc.php
Normal file
19
includes/discovery/processors/dnos-ftos.inc.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
if ($device['os'] == 'dnos' || $device['os'] == 'ftos') {
|
||||||
|
echo 'DNOS CPU: ';
|
||||||
|
$descr = 'CPU';
|
||||||
|
|
||||||
|
if (preg_match('/.6027.1.3.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
echo 'Dell S Series Chassis';
|
||||||
|
$usage = str_replace(' percent', '', snmp_get($device, 'chStackUnitCpuUtil5Sec.1', '-OvQ', 'F10-S-SERIES-CHASSIS-MIB'));
|
||||||
|
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.6027.3.10.1.2.9.1.2.1', '0', $device['os'], $descr, '1', $usage);
|
||||||
|
} elseif (preg_match('/.6027.1.2.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
echo 'Dell C Series Chassis';
|
||||||
|
$usage = str_replace(' percent', '', snmp_get($device, 'chRpmCpuUtil5Sec.1', '-OvQ', 'F10-C-SERIES-CHASSIS-MIB'));
|
||||||
|
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.6027.3.8.1.3.7.1.3.1', '0', $device['os'], $descr, '1', $usage);
|
||||||
|
} else {
|
||||||
|
preg_match('/(\d*\.\d*)/', snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '-OvQ'), $matches);
|
||||||
|
$usage = $matches[0];
|
||||||
|
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '0', 'dnos-cpu', $descr, '1', $usage, null, null);
|
||||||
|
}
|
||||||
|
}
|
@@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
if ($device['os'] == 'dnos') {
|
|
||||||
echo 'DNOS CPU: ';
|
|
||||||
$get_series = explode('.', snmp_get($device, 'mib-2.1.2.0', '-Onvsbq', 'F10-PRODUCTS-MIB', 'dnos'), 2); // Get series From MIB
|
|
||||||
$series = $get_series[0];
|
|
||||||
$descr = 'CPU';
|
|
||||||
|
|
||||||
if ($series == 'f10SSeriesProducts') {
|
|
||||||
echo 'Dell S Series Chassis';
|
|
||||||
$usage = trim(snmp_get($device, 'chStackUnitCpuUtil5Sec.1', '-OvQ', 'F10-S-SERIES-CHASSIS-MIB'));
|
|
||||||
|
|
||||||
discover_processor($valid['processor'], $device, 'F10-S-SERIES-CHASSIS-MIB::chStackUnitCpuUtil5Sec.1', '0', 'dnos-cpu', '1', $usage, null, null);
|
|
||||||
} elseif ($series == 'f10CSeriesProducts') {
|
|
||||||
echo 'Dell C Series Chassis';
|
|
||||||
$usage = trim(snmp_get($device, 'chLineCardCpuUtil5Sec.1', '-OvQ', 'F10-S-SERIES-CHASSIS-MIB'));
|
|
||||||
|
|
||||||
discover_processor($valid['processor'], $device, 'F10-C-SERIES-CHASSIS-MIB::chLineCardCpuUtil5Sec.1', '0', 'dnos-cpu', '1', $usage, null, null);
|
|
||||||
} else {
|
|
||||||
preg_match('/(\d*\.\d*)/', snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '-OvQ'), $matches);
|
|
||||||
$usage = $matches[0];
|
|
||||||
|
|
||||||
discover_processor($valid['processor'], $device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '0', 'dnos-cpu', $descr, '1', $usage, null, null);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -2,20 +2,14 @@
|
|||||||
|
|
||||||
// Code below was borrowed from 'powerconnect-cpu.inc.php'
|
// Code below was borrowed from 'powerconnect-cpu.inc.php'
|
||||||
|
|
||||||
|
if (preg_match('/.6027.1.3.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
//--------------------------------------------------------------------//
|
|
||||||
// Dell-Vendor-MIB::dellLanExtension.6132.1.1.1.1.4.1.0 = INTEGER: 23127
|
|
||||||
// Dell-Vendor-MIB::dellLanExtension.6132.1.1.1.1.4.2.0 = INTEGER: 262144
|
|
||||||
// Simple hard-coded poller for Dell Powerconnect (tested on 6248P)
|
|
||||||
// Yes, it really can be this simple.
|
|
||||||
// Pity there's no matching MIB to be found.
|
|
||||||
|
|
||||||
$get_series = explode('.', snmp_get($device, 'mib-2.1.2.0', '-Onvsbq', 'F10-PRODUCTS-MIB', 'dnos'), 2); // Get series From MIB
|
|
||||||
$series = $get_series[0];
|
|
||||||
if ($series == 'f10SSeriesProducts') {
|
|
||||||
$mempool['total'] = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB');
|
$mempool['total'] = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB');
|
||||||
$mempool['used'] = $mempool['total'] * (snmp_get($device, 'chStackUnitMemUsageUtil.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB')/ 100);
|
$mempool['used'] = $mempool['total'] * (snmp_get($device, 'chStackUnitMemUsageUtil.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB')/ 100);
|
||||||
$mempool['free'] = ($mempool['total'] - $mempool['used']);
|
$mempool['free'] = ($mempool['total'] - $mempool['used']);
|
||||||
|
} elseif (preg_match('/.6027.1.2.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
$mempool['total'] = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-C-SERIES-CHASSIS-MIB');
|
||||||
|
$mempool['used'] = $mempool['total'] * (snmp_get($device, 'chStackUnitMemUsageUtil.1', '-OvQU', 'F10-C-SERIES-CHASSIS-MIB')/ 100);
|
||||||
|
$mempool['free'] = ($mempool['total'] - $mempool['used']);
|
||||||
} else {
|
} else {
|
||||||
$mempool['total'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.2.0', '-OvQ');
|
$mempool['total'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.2.0', '-OvQ');
|
||||||
$mempool['free'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
$mempool['free'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
17
includes/polling/mempools/ftos.inc.php
Normal file
17
includes/polling/mempools/ftos.inc.php
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
// Code below was borrowed from 'powerconnect-cpu.inc.php'
|
||||||
|
|
||||||
|
if (preg_match('/.6027.1.3.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
$mempool['total'] = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB');
|
||||||
|
$mempool['used'] = $mempool['total'] * (snmp_get($device, 'chStackUnitMemUsageUtil.1', '-OvQU', 'F10-S-SERIES-CHASSIS-MIB')/ 100);
|
||||||
|
$mempool['free'] = ($mempool['total'] - $mempool['used']);
|
||||||
|
} elseif (preg_match('/.6027.1.2.[0-9]+$/', $device['sysObjectID'])) {
|
||||||
|
$mempool['total'] = snmp_get($device, 'chSysProcessorMemSize.1', '-OvQU', 'F10-C-SERIES-CHASSIS-MIB');
|
||||||
|
$mempool['used'] = $mempool['total'] * (snmp_get($device, 'chStackUnitMemUsageUtil.1', '-OvQU', 'F10-C-SERIES-CHASSIS-MIB')/ 100);
|
||||||
|
$mempool['free'] = ($mempool['total'] - $mempool['used']);
|
||||||
|
} else {
|
||||||
|
$mempool['total'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.2.0', '-OvQ');
|
||||||
|
$mempool['free'] = snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.1.0', '-OvQ');
|
||||||
|
$mempool['used'] = ($mempool['total'] - $mempool['free']);
|
||||||
|
}
|
@@ -1,14 +0,0 @@
|
|||||||
<?php
|
|
||||||
echo 'DNOS CPU Usage';
|
|
||||||
|
|
||||||
$get_series = explode('.', snmp_get($device, 'mib-2.1.2.0', '-Onvsbq', 'F10-PRODUCTS-MIB', 'dnos'), 2); // Get series From MIB
|
|
||||||
$series = $get_series[0];
|
|
||||||
$descr = 'CPU';
|
|
||||||
if ($series == 'f10SSeriesProducts') {
|
|
||||||
$proc = trim(snmp_get($device, 'chStackUnitCpuUtil5Sec.1', '-OvQ', 'F10-S-SERIES-CHASSIS-MIB'));
|
|
||||||
} elseif ($series == 'f10CSeriesProducts') {
|
|
||||||
$proc = trim(snmp_get($device, 'chLineCardCpuUtil5Sec.1', '-OvQ', 'F10-S-SERIES-CHASSIS-MIB'));
|
|
||||||
} else {
|
|
||||||
preg_match('/(\d*\.\d*)/', snmp_get($device, '.1.3.6.1.4.1.674.10895.5000.2.6132.1.1.1.1.4.9.0', '-OvQ'), $matches);
|
|
||||||
$proc = $matches[0];
|
|
||||||
}
|
|
Reference in New Issue
Block a user