57 lines
1.7 KiB
PHP
Executable File

<?php
global $valid_mempool;
$storage_array = snmpwalk_cache_oid($device, "hrStorageEntry", NULL, "HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES:NetWare-Host-Ext-MIB");
if (is_array($storage_array))
{
echo("hrStorage : ");
foreach ($storage_array as $index => $storage)
{
$fstype = $storage['hrStorageType'];
$descr = $storage['hrStorageDescr'];
$size = $storage['hrStorageSize'] * $storage['hrStorageAllocationUnits'];
$used = $storage['hrStorageUsed'] * $storage['hrStorageAllocationUnits'];
$units = $storage['hrStorageAllocationUnits'];
$deny = 1;
switch($fstype)
{
case 'hrStorageVirtualMemory':
case 'hrStorageRam';
case 'nwhrStorageDOSMemory';
case 'nwhrStorageMemoryAlloc';
case 'nwhrStorageMemoryPermanent';
case 'nwhrStorageMemoryAlloc';
case 'nwhrStorageCacheBuffers';
case 'nwhrStorageCacheMovable';
case 'nwhrStorageCacheNonMovable';
case 'nwhrStorageCodeAndDataMemory';
case 'nwhrStorageDOSMemory';
case 'nwhrStorageIOEngineMemory';
case 'nwhrStorageMSEngineMemory';
case 'nwhrStorageUnclaimedMemory';
$deny = 0;
break;
}
if ($device['os'] == "routeros" && $descr == "main memory") { $deny = 0; }
if (strstr($descr, "MALLOC") || strstr($descr, "UMA")) { $deny = 1; } ## Ignore FreeBSD INSANITY
if (strstr($descr, "procfs") || strstr($descr, "/proc")) { $deny = 1; } ## Ignore ProcFS
if (!$deny && is_numeric($index))
{
discover_mempool($valid_mempool, $device, $index, "hrstorage", $descr, $units, NULL, NULL);
}
unset($deny, $fstype, $descr, $size, $used, $units, $storage_rrd, $old_storage_rrd);
}
unset($storage_array);
}
?>