Fixed negative values for storage: http://munin-monitoring.org/ticket/1371

This commit is contained in:
laf
2015-06-02 17:36:10 +01:00
parent e270db10e4
commit ffce63968f
3 changed files with 14 additions and 1 deletions

View File

@@ -9,6 +9,8 @@ if (is_array($hrstorage_array))
{
$fstype = $storage['hrStorageType'];
$descr = $storage['hrStorageDescr'];
$storage['hrStorageSize'] = fix_integer_value($storage['hrStorageSize']);
$storage['hrStorageUsed'] = fix_integer_value($storage['hrStorageUsed']);
$size = $storage['hrStorageSize'] * $storage['hrStorageAllocationUnits'];
$used = $storage['hrStorageUsed'] * $storage['hrStorageAllocationUnits'];
$units = $storage['hrStorageAllocationUnits'];

View File

@@ -1201,3 +1201,12 @@ function first_oid_match($device, $list) {
}
}
}
function fix_integer_value($value) {
if ($value < 0) {
$return = 4294967296+$value;
} else {
$return = $value;
}
return $return;
}

View File

@@ -11,8 +11,10 @@ if (!is_array($storage_cache['hrstorage']))
$entry = $storage_cache['hrstorage'][$storage[storage_index]];
$storage['units'] = $entry['hrStorageAllocationUnits'];
$entry['hrStorageUsed'] = fix_integer_value($entry['hrStorageUsed']);
$entry['hrStorageSize'] = fix_integer_value($entry['hrStorageSize']);
$storage['used'] = $entry['hrStorageUsed'] * $storage['units'];
$storage['size'] = $entry['hrStorageSize'] * $storage['units'];
$storage['free'] = $storage['size'] - $storage['used'];
?>
?>