newdevice: Added Cpu/Mem support for dnos and ftos devices and updated detection (#6897)

This commit is contained in:
Neil Lathwood
2017-06-28 05:58:57 +01:00
committed by Tony Murray
parent 2ee679276a
commit 8b806a857a
9 changed files with 72 additions and 74 deletions

View File

@@ -10,5 +10,9 @@ over:
- { graph: device_processor, text: 'CPU Usage' }
- { graph: device_mempool, text: 'Memory Usage' }
discovery:
- sysObjectId:
-
sysObjectId:
- .1.3.6.1.4.1.6027.1.
sysDescr_except:
- Force10 Operating System
- Force10 Networks Real Time Operating System Software

View File

@@ -11,3 +11,4 @@ over:
discovery:
- sysDescr:
- Force10 Operating System
- Force10 Networks Real Time Operating System Software

View 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);
}
}
}

View File

@@ -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);
}
}
}

View 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);
}
}

View File

@@ -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);
}
}

View File

@@ -2,20 +2,14 @@
// Code below was borrowed from 'powerconnect-cpu.inc.php'
//--------------------------------------------------------------------//
// 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') {
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');

View 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']);
}

View File

@@ -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];
}