add discovery of mempool percent warning limit (#10618)

* add ability to discover percent warning on mempools discovery

* remove wierd charachters from json

* remove database defaults, add defaults for Linux and Vmware

* update db schema

* update test data

* adapt hrstorage mempools

* rebase
This commit is contained in:
Vitali Kari
2019-09-30 15:22:55 +02:00
committed by Tony Murray
parent 4a36c18e69
commit 2825a7f7ec
114 changed files with 964 additions and 919 deletions

View File

@@ -657,12 +657,12 @@ function discover_processor(&$valid, $device, $oid, $index, $type, $descr, $prec
//end discover_processor()
function discover_mempool(&$valid, $device, $index, $type, $descr, $precision = '1', $entPhysicalIndex = null, $hrDeviceIndex = null)
function discover_mempool(&$valid, $device, $index, $type, $descr, $precision = '1', $entPhysicalIndex = null, $hrDeviceIndex = null, $perc_warn = '90')
{
$descr = substr($descr, 0, 64);
d_echo("Discover Mempool: $index, $type, $descr, $precision, $entPhysicalIndex, $hrDeviceIndex\n");
d_echo("Discover Mempool: $index, $type, $descr, $precision, $entPhysicalIndex, $hrDeviceIndex, $perc_warn\n");
// FIXME implement the mempool_perc, mempool_used, etc.
if ($descr) {
@@ -677,6 +677,7 @@ function discover_mempool(&$valid, $device, $index, $type, $descr, $precision =
'mempool_used' => 0,
'mempool_free' => 0,
'mempool_total' => 0,
'mempool_perc_warn' => $perc_warn,
);
if (is_numeric($entPhysicalIndex)) {
@@ -694,6 +695,7 @@ function discover_mempool(&$valid, $device, $index, $type, $descr, $precision =
echo '.';
$update_data = array(
'mempool_descr' => $descr,
'mempool_perc_warn' => $perc_warn,
);
if (is_numeric($entPhysicalIndex)) {

View File

@@ -11,6 +11,7 @@ if (is_array($storage_array)) {
$used = ($storage['hrStorageUsed'] * $storage['hrStorageAllocationUnits']);
$units = $storage['hrStorageAllocationUnits'];
$deny = 1;
$perc_warn = 90;
switch ($fstype) {
case 'hrStorageVirtualMemory':
@@ -29,10 +30,6 @@ if (is_array($storage_array)) {
break;
}
if ($device['os'] == 'vmware' && $descr == 'Real Memory') {
$deny = 0;
}
if ($device['os'] == 'routeros' && $descr == 'main memory') {
$deny = 0;
}
@@ -44,11 +41,22 @@ if (is_array($storage_array)) {
$deny = 1;
} //end if
if (!$deny && is_numeric($index)) {
discover_mempool($valid_mempool, $device, $index, 'hrstorage', $descr, $units, null, null);
if ($device['os'] == 'linux' || $device['os'] == 'vmware') {
if ($descr == 'Physical memory' || $descr == 'Real Memory') {
$perc_warn = 99;
$deny = 0;
} elseif ($descr == 'Virtual memory') {
$perc_warn = 95;
} elseif ($descr == 'Swap space') {
$perc_warn = 10;
}
}
unset($deny, $fstype, $descr, $size, $used, $units, $storage_rrd, $old_storage_rrd);
if (!$deny && is_numeric($index)) {
discover_mempool($valid_mempool, $device, $index, 'hrstorage', $descr, $units, null, null, $perc_warn);
}
unset($deny, $fstype, $descr, $size, $used, $units, $storage_rrd, $old_storage_rrd, $perc_warn);
}//end foreach
unset($storage_array);