Esempio n. 1
0
$ucd_oids = array();
if ($storage['storage_hc']) {
    if ($cache_storage['ucd-snmp-mib-walked']['storage_hc'] !== TRUE) {
        $ucd_oids = array('dskTotalHigh', 'dskTotalLow', 'dskUsedHigh', 'dskUsedLow', 'dskAvailHigh', 'dskAvailLow');
        $cache_storage['ucd-snmp-mib-walked']['storage_hc'] = TRUE;
    }
} else {
    if ($cache_storage['ucd-snmp-mib-walked']['storage'] !== TRUE) {
        $ucd_oids = array('dskTotal', 'dskUsed', 'dskAvail');
        $cache_storage['ucd-snmp-mib-walked']['storage'] = TRUE;
    }
}
$index = $storage['storage_index'];
$storage['units'] = 1024;
// Hardcode units.
foreach ($ucd_oids as $oid) {
    $cache_storage['ucd-snmp-mib'] = snmpwalk_cache_multi_oid($device, $oid, $cache_storage['ucd-snmp-mib'], 'UCD-SNMP-MIB');
}
foreach (array('size' => 'dskTotal', 'used' => 'dskUsed', 'free' => 'dskAvail') as $param => $oid) {
    if ($storage['storage_hc']) {
        $storage[$param] = snmp_size64_high_low($cache_storage['ucd-snmp-mib'][$index][$oid . 'High'], $cache_storage['ucd-snmp-mib'][$index][$oid . 'Low']);
        $storage[$param] *= $storage['units'];
    } else {
        $storage[$param] = $cache_storage['ucd-snmp-mib'][$index][$oid] * $storage['units'];
    }
}
if ($storage['storage_hc'] && $storage['size'] - $storage['used'] - $storage['free'] > 100) {
    $storage['used'] = $storage['size'] - $storage['free'];
}
// F.u. BSNMPd
// EOF
Esempio n. 2
0
 * Observium
 *
 *   This file is part of Observium.
 *
 * @package    observium
 * @subpackage poller
 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2016 Observium Limited
 *
 */
$index = $storage['storage_index'];
if (!is_array($cache_storage['NIMBLE-MIB'])) {
    foreach (array('volSizeLow', 'volSizeHigh', 'volUsageLow', 'volUsageHigh', 'volOnline') as $param) {
        $cache_storage['NIMBLE-MIB'] = snmpwalk_cache_oid($device, $param, $cache_storage['NIMBLE-MIB'], 'NIMBLE-MIB');
    }
    if (OBS_DEBUG > 1 && count($cache_storage['NIMBLE-MIB'])) {
        print_vars($cache_storage['NIMBLE-MIB']);
    }
}
$entry = $cache_storage['NIMBLE-MIB'][$index];
// FIXME, probably need additional field for storages like OperStatus up/down
$ignore = in_array($entry['volOnline'], array('0', 'false')) ? 1 : 0;
if ($storage['storage_ignore'] != $ignore) {
    force_discovery($device, 'storage');
}
$storage['units'] = 1048576;
// Hardcode units. In MIB is written that bytes, but really Mbytes
$storage['size'] = snmp_size64_high_low($entry['volSizeHigh'], $entry['volSizeLow']) * $storage['units'];
$storage['used'] = snmp_size64_high_low($entry['volUsageHigh'], $entry['volUsageLow']) * $storage['units'];
$storage['free'] = $storage['size'] - $storage['used'];
unset($index, $entry, $ignore);
// EOF
Esempio n. 3
0
    echo " {$mib} ";
    /*
    Available data:
    
         Array
         (
         [gpfsFileSystemName] => scratch_gs
         [gpfsFileSystemStatus] => recovered
         [gpfsFileSystemXstatus] => OFW
         [gpfsFileSystemTotalSpaceL] => 1946157056
         [gpfsFileSystemTotalSpaceH] => 94
         [gpfsFileSystemNumTotalInodesL] => 402653184
         [gpfsFileSystemNumTotalInodesH] => 0
         [gpfsFileSystemFreeSpaceL] => 37208064
         [gpfsFileSystemFreeSpaceH] => 26
         [gpfsFileSystemNumFreeInodesL] => 326910126
         [gpfsFileSystemNumFreeInodesH] => 0
         )
    */
    foreach ($cache_discovery['gpfs-mib'] as $index => $storage) {
        $fstype = "gpfs";
        $descr = "/" . $storage['gpfsFileSystemName'];
        $hc = 1;
        $size = snmp_size64_high_low($storage['gpfsFileSystemTotalSpaceH'], $storage['gpfsFileSystemTotalSpaceL']) * 1024;
        $free = snmp_size64_high_low($storage['gpfsFileSystemFreeSpaceH'], $storage['gpfsFileSystemFreeSpaceL']) * 1024;
        $used = $size - $free;
        discover_storage($valid['storage'], $device, $index, $fstype, $mib, $descr, 1024, $size, $used, array('storage_hc' => $hc));
        unset($deny, $fstype, $descr, $size, $used, $free, $percent, $hc);
    }
    unset($index, $storage);
}
Esempio n. 4
0
<?php

/**
 * Observium
 *
 *   This file is part of Observium.
 *
 * @package    observium
 * @subpackage poller
 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2016 Observium Limited
 *
 */
echo ' GPFS-MIB: ';
$index = $storage['storage_index'];
if (!is_array($cache_storage['gpfs-mib'])) {
    foreach (array('gpfsFileSystemTotalSpaceL', 'gpfsFileSystemTotalSpaceH', 'gpfsFileSystemFreeSpaceL', 'gpfsFileSystemFreeSpaceH') as $param) {
        $cache_storage['gpfs-mib'] = snmpwalk_cache_oid($device, $param, $cache_storage['gpfs-mib'], 'GPFS-MIB');
    }
    if (OBS_DEBUG && count($cache_storage['gpfs-mib'])) {
        print_vars($cache_storage['gpfs-mib']);
    }
}
$entry = $cache_storage['gpfs-mib'][$index];
$storage['units'] = 1024;
// Hardcode units.
$storage['size'] = snmp_size64_high_low($entry['gpfsFileSystemTotalSpaceH'], $entry['gpfsFileSystemTotalSpaceL']) * 1024;
$storage['free'] = snmp_size64_high_low($entry['gpfsFileSystemFreeSpaceH'], $entry['gpfsFileSystemFreeSpaceL']) * 1024;
$storage['used'] = $storage['size'] - $storage['free'];
unset($index, $entry);
// EOF
        unset($deny, $fstype, $descr, $size, $used, $units, $path, $dsk, $hc);
    }
} else {
    if (count($cache_discovery['ucd-snmp-mib'])) {
        // Discover 'UCD-SNMP-MIB' if 'HOST-RESOURCES-MIB' empty.
        $mib = 'UCD-SNMP-MIB';
        foreach ($cache_discovery['ucd-snmp-mib'] as $index => $dsk) {
            $hc = 0;
            $fstype = $dsk['dskDevice'];
            $descr = $dsk['dskPath'];
            $units = 1024;
            $deny = FALSE;
            // Using 64bit counters if available
            if (isset($dsk['dskTotalLow'])) {
                $hc = 1;
                $size = snmp_size64_high_low($dsk['dskTotalHigh'], $dsk['dskTotalLow']);
                $size *= $units;
                $used = snmp_size64_high_low($dsk['dskUsedHigh'], $dsk['dskUsedLow']);
                $used *= $units;
            } else {
                $size = $dsk['dskTotal'] * $units;
                $used = $dsk['dskUsed'] * $units;
            }
            if (!$deny && is_numeric($index)) {
                discover_storage($valid['storage'], $device, $index, $fstype, $mib, $descr, $units, $size, $used, array('storage_hc' => $hc));
            }
            unset($deny, $fstype, $descr, $size, $used, $units, $hc);
        }
    }
}
// EOF
Esempio n. 6
0
 * @copyright  (C) 2006-2013 Adam Armstrong, (C) 2013-2016 Observium Limited
 *
 */
$mib = 'NIMBLE-MIB';
//$cache_discovery[$mib]
$oids = snmpwalk_cache_oid($device, 'volName', array(), $mib);
if (count($oids)) {
    foreach (array('volSizeLow', 'volSizeHigh', 'volUsageLow', 'volUsageHigh', 'volOnline') as $oid) {
        $oids = snmpwalk_cache_oid($device, $oid, $oids, $mib);
    }
    if (OBS_DEBUG > 1) {
        print_vars($oids);
    }
    foreach ($oids as $index => $storage) {
        $hc = 1;
        $fstype = 'volume';
        $descr = $storage['volName'];
        $units = 1048576;
        // Hardcode units. In MIB is written that bytes, but really Mbytes
        // FIXME, probably need additional field for storages like OperStatus up/down
        $ignore = in_array($storage['volOnline'], array('0', 'false')) ? 1 : 0;
        $deny = FALSE;
        $size = snmp_size64_high_low($storage['volSizeHigh'], $storage['volSizeLow']) * $units;
        $used = snmp_size64_high_low($storage['volUsageHigh'], $storage['volUsageLow']) * $units;
        if (!$deny && is_numeric($index)) {
            discover_storage($valid['storage'], $device, $index, $fstype, $mib, $descr, $units, $size, $used, array('storage_hc' => $hc, 'storage_ignore' => $ignore));
        }
    }
}
unset($oids, $deny, $fstype, $descr, $size, $used, $units, $hc);
// EOF