initial commit; version 22.5.12042

This commit is contained in:
2022-12-12 23:28:25 -05:00
commit af1b03d79f
17653 changed files with 22692970 additions and 0 deletions

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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