initial commit; version 22.5.12042
This commit is contained in:
54
includes/polling/storage/cisco-flash-mib.inc.php
Normal file
54
includes/polling/storage/cisco-flash-mib.inc.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
|
||||
*
|
||||
*/
|
||||
|
||||
// CISCO-FLASH-MIB
|
||||
|
||||
/* Use per index individual snmpget's, because snmpwalk by this MIB produce high cpu usage on cisco devices! */
|
||||
|
||||
//if (!is_array($cache_storage['cisco-flash-mib']))
|
||||
//{
|
||||
// $cache_storage['cisco-flash-mib'] = snmpwalk_cache_oid($device, "ciscoFlashPartitionTable", NULL, "CISCO-FLASH-MIB");
|
||||
// /** produce timeouts
|
||||
// $cache_storage['cisco-flash-mib'] = snmpwalk_cache_oid($device, "ciscoFlashPartitionSizeExtended", NULL, "CISCO-FLASH-MIB");
|
||||
// if ($GLOBALS['snmp_status'])
|
||||
// {
|
||||
// $cache_storage['cisco-flash-mib'] = snmpwalk_cache_oid($device, "ciscoFlashPartitionFreeSpaceExtended", $cache_storage['cisco-flash-mib'], "CISCO-FLASH-MIB");
|
||||
// }
|
||||
// $cache_storage['cisco-flash-mib'] = snmpwalk_cache_oid($device, "ciscoFlashPartitionSize", $cache_storage['cisco-flash-mib'], "CISCO-FLASH-MIB");
|
||||
// $cache_storage['cisco-flash-mib'] = snmpwalk_cache_oid($device, "ciscoFlashPartitionFreeSpace", $cache_storage['cisco-flash-mib'], "CISCO-FLASH-MIB");
|
||||
// */
|
||||
// if (OBS_DEBUG > 1 && count($cache_storage['cisco-flash-mib'])) { print_vars($cache_storage['cisco-flash-mib']); }
|
||||
//}
|
||||
|
||||
//$entry = $cache_storage['cisco-flash-mib'][$storage['storage_index']];
|
||||
|
||||
$storage['units'] = 1;
|
||||
if ($storage['storage_hc'])
|
||||
{
|
||||
$oids = array('ciscoFlashPartitionSizeExtended.' . $storage['storage_index'], 'ciscoFlashPartitionFreeSpaceExtended.' . $storage['storage_index']);
|
||||
$entry = snmp_get_multi_oid($device, $oids, array(), "CISCO-FLASH-MIB");
|
||||
$entry = array_shift($entry);
|
||||
$storage['size'] = $entry['ciscoFlashPartitionSizeExtended'];
|
||||
$storage['free'] = $entry['ciscoFlashPartitionFreeSpaceExtended'];
|
||||
} else {
|
||||
$oids = array('ciscoFlashPartitionSize.' . $storage['storage_index'], 'ciscoFlashPartitionFreeSpace.' . $storage['storage_index']);
|
||||
$entry = snmp_get_multi_oid($device, $oids, array(), "CISCO-FLASH-MIB");
|
||||
$entry = array_shift($entry);
|
||||
$storage['size'] = $entry['ciscoFlashPartitionSize'];
|
||||
$storage['free'] = $entry['ciscoFlashPartitionFreeSpace'];
|
||||
}
|
||||
if (OBS_DEBUG > 1 && count($entry)) { print_vars($entry); }
|
||||
|
||||
$storage['used'] = $storage['size'] - $storage['free'];
|
||||
|
||||
// EOF
|
30
includes/polling/storage/embedded-ngx-mib.inc.php
Normal file
30
includes/polling/storage/embedded-ngx-mib.inc.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
|
||||
*
|
||||
*/
|
||||
|
||||
// EMBEDDED-NGX-MIB
|
||||
|
||||
if (!is_array($cache_storage['embedded-ngx-mib']))
|
||||
{
|
||||
$cache_storage['embedded-ngx-mib'] = snmpwalk_cache_oid($device, "swStorage", NULL, "EMBEDDED-NGX-MIB");
|
||||
if (OBS_DEBUG && count($cache_storage['embedded-ngx-mib'])) { print_vars($cache_storage['embedded-ngx-mib']); }
|
||||
}
|
||||
|
||||
$entry = $cache_storage['embedded-ngx-mib'][$storage['storage_index']];
|
||||
|
||||
$storage['units'] = 1024;
|
||||
$storage['size'] = $entry['swStorageConfigTotal'] * $storage['units'];
|
||||
$storage['free'] = $entry['swStorageConfigFree'] * $storage['units'];
|
||||
|
||||
$storage['used'] = $storage['size'] - $storage['free'];
|
||||
|
||||
// EOF
|
37
includes/polling/storage/gpfs-mib.inc.php
Normal file
37
includes/polling/storage/gpfs-mib.inc.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 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
|
59
includes/polling/storage/host-resources-mib.inc.php
Normal file
59
includes/polling/storage/host-resources-mib.inc.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2020 Observium Limited
|
||||
*
|
||||
*/
|
||||
|
||||
$wmi_found = FALSE;
|
||||
if (isset($wmi['disk']['logical']) && safe_count($wmi['disk']['logical'])) {
|
||||
echo(" Storage WMI: ");
|
||||
|
||||
//print_debug_vars($storage);
|
||||
//print_debug_vars($wmi['disk']['logical']);
|
||||
/*
|
||||
* storage_descr => "C:\\ Label: Serial Number d0122308"
|
||||
*
|
||||
* DeviceID => "C:"
|
||||
* Name => "C:"
|
||||
* VolumeName => ""
|
||||
* VolumeSerialNumber => "D0122308"
|
||||
*/
|
||||
foreach ($wmi['disk']['logical'] as $disk) {
|
||||
//$storage_name = $disk['DeviceID'] . "\\\\ Label:" . $disk['VolumeName'] . " Serial Number " . ltrim(strtolower($disk['VolumeSerialNumber']), '0');
|
||||
$disk_name = $disk['DeviceID'] . '\\\\';
|
||||
$disk_label = 'Label:' . $disk['VolumeName'];
|
||||
$disk_serial = 'Serial Number ' . ltrim(strtolower($disk['VolumeSerialNumber']), '0');
|
||||
$wmi_found = str_starts($storage['storage_descr'], $disk_name) &&
|
||||
str_contains_array($storage['storage_descr'], $disk_label) &&
|
||||
str_ends($storage['storage_descr'], $disk_serial);
|
||||
if ($wmi_found) {
|
||||
// Found
|
||||
//$storage['units'] = 1;
|
||||
$storage['free'] = $disk['FreeSpace'];
|
||||
$storage['used'] = $disk['Size'] - $disk['FreeSpace'];
|
||||
$storage['size'] = $disk['Size'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$wmi_found) {
|
||||
|
||||
$hrStorage = snmp_cache_table($device, "hrStorageEntry", [], "HOST-RESOURCES-MIB:HOST-RESOURCES-TYPES");
|
||||
|
||||
$entry = $hrStorage[$storage['storage_index']];
|
||||
|
||||
$storage['units'] = $entry['hrStorageAllocationUnits'];
|
||||
$storage['used'] = snmp_dewrap32bit($entry['hrStorageUsed']) * $storage['units'];
|
||||
$storage['size'] = snmp_dewrap32bit($entry['hrStorageSize']) * $storage['units'];
|
||||
|
||||
$storage['free'] = $storage['size'] - $storage['used'];
|
||||
}
|
||||
|
||||
// EOF
|
29
includes/polling/storage/isilon-mib.inc.php
Normal file
29
includes/polling/storage/isilon-mib.inc.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
|
||||
*
|
||||
*/
|
||||
|
||||
// EMBEDDED-NGX-MIB
|
||||
|
||||
if (!is_array($cache_storage['ISILON-MIB']))
|
||||
{
|
||||
$cache_storage['ISILON-MIB'] = snmp_get_multi_oid($device, 'ifsTotalBytes.0 ifsUsedBytes.0', array(), 'ISILON-MIB');
|
||||
}
|
||||
|
||||
$entry = $cache_storage['ISILON-MIB'][$storage['storage_index']];
|
||||
|
||||
$storage['units'] = 1;
|
||||
$storage['size'] = $entry['ifsTotalBytes'];
|
||||
$storage['used'] = $entry['ifsUsedBytes'];
|
||||
|
||||
$storage['free'] = $storage['size'] - $storage['used'];
|
||||
|
||||
// EOF
|
57
includes/polling/storage/netapp-mib.inc.php
Normal file
57
includes/polling/storage/netapp-mib.inc.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
|
||||
*
|
||||
*/
|
||||
|
||||
// NETAPP-MIB
|
||||
//echo(' NETAPP-MIB: ');
|
||||
|
||||
$index = $storage['storage_index'];
|
||||
|
||||
if ($storage['storage_hc'])
|
||||
{
|
||||
$netapp_oids = array('size' => 'df64TotalKBytes', 'used' => 'df64UsedKBytes', 'free' => 'df64AvailKBytes');
|
||||
|
||||
if (!is_array($cache_storage['netapp-mib-hc']))
|
||||
{
|
||||
foreach (array('size', 'used', 'free') as $param)
|
||||
{
|
||||
$oid = $netapp_oids[$param];
|
||||
$cache_storage['netapp-mib-hc'] = snmpwalk_cache_oid($device, $oid, $cache_storage['netapp-mib-hc'], 'NETAPP-MIB');
|
||||
}
|
||||
if (OBS_DEBUG && count($cache_storage['netapp-mib-hc'])) { print_vars($cache_storage['netapp-mib-hc']); }
|
||||
}
|
||||
$entry = $cache_storage['netapp-mib-hc'][$index];
|
||||
} else {
|
||||
$netapp_oids = array('size' => 'dfKBytesTotal', 'used' => 'dfKBytesUsed', 'free' => 'dfKBytesAvail');
|
||||
|
||||
if (!is_array($cache_storage['netapp-mib']))
|
||||
{
|
||||
foreach (array('size', 'used', 'free') as $param)
|
||||
{
|
||||
$oid = $netapp_oids[$param];
|
||||
$cache_storage['netapp-mib'] = snmpwalk_cache_oid($device, $oid, $cache_storage['netapp-mib'], 'NETAPP-MIB');
|
||||
}
|
||||
if (OBS_DEBUG && count($cache_storage['netapp-mib'])) { print_vars($cache_storage['netapp-mib']); }
|
||||
}
|
||||
$entry = $cache_storage['netapp-mib-hc'][$index];
|
||||
}
|
||||
|
||||
$storage['units'] = 1024; // Hardcode units.
|
||||
foreach (array('size', 'used', 'free') as $param)
|
||||
{
|
||||
$oid = $netapp_oids[$param];
|
||||
$storage[$param] = $entry[$oid] * $storage['units'];
|
||||
}
|
||||
|
||||
unset($index, $entry, $param, $netapp_oids);
|
||||
|
||||
// EOF
|
41
includes/polling/storage/nimble-mib.inc.php
Normal file
41
includes/polling/storage/nimble-mib.inc.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 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
|
54
includes/polling/storage/ucd-snmp-mib.inc.php
Normal file
54
includes/polling/storage/ucd-snmp-mib.inc.php
Normal file
@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Observium
|
||||
*
|
||||
* This file is part of Observium.
|
||||
*
|
||||
* @package observium
|
||||
* @subpackage poller
|
||||
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
|
||||
*
|
||||
*/
|
||||
|
||||
// UCD-SNMP-MIB
|
||||
echo(' UCD-SNMP-MIB: ');
|
||||
|
||||
$ucd_oids = array();
|
||||
if ($storage['storage_hc'])
|
||||
{
|
||||
if ($cache_storage['ucd-snmp-mib-walked']['storage_hc'] !== TRUE) // Hack for real caching
|
||||
{
|
||||
$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) // Hack for real caching
|
||||
{
|
||||
$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_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
|
Reference in New Issue
Block a user