Commit version 24.12.13800

This commit is contained in:
2025-01-06 17:35:06 -05:00
parent b7f6a79c2c
commit 55d9218816
6133 changed files with 4239740 additions and 1374287 deletions

View File

@ -1,5 +1,4 @@
<?php
/**
* Observium
*
@ -7,59 +6,56 @@
*
* @package observium
* @subpackage discovery
* @copyright (C) 2006-2013 Adam Armstrong, (C) 2013-2019 Observium Limited
* @copyright (C) Adam Armstrong
*
*/
// table: CMC power information
$oids = snmpwalk_cache_oid($device, 'drsCMCPowerTable', array(), $mib);
$oids = snmpwalk_cache_oid($device, 'drsCMCPowerTable', [], $mib);
foreach ($oids as $index => $entry) {
$options = [ 'rename_rrd' => "dell-rac-$index" ];
foreach ($oids as $index => $entry)
{
$descr = "Chassis ".$entry['drsChassisIndex'];
$oid = ".1.3.6.1.4.1.674.10892.2.4.1.1.14.$index";
$object = 'drsAmpsReading';
discover_sensor_ng($device, 'current', $mib, $object, $oid, $index, 'dell-rac', $descr, 1, $entry[$object]);
$descr = "Chassis " . $entry['drsChassisIndex'];
$oid = ".1.3.6.1.4.1.674.10892.2.4.1.1.14.$index";
$object = 'drsAmpsReading';
discover_sensor_ng($device, 'current', $mib, $object, $oid, $index, $descr, 1, $entry[$object], $options);
$limits = array('limit_high' => $entry['drsMaxPowerSpecification']);
$oid = ".1.3.6.1.4.1.674.10892.2.4.1.1.13.$index";
$object = 'drsWattsReading';
discover_sensor_ng($device, 'power', $mib, $object, $oid, $index, 'dell-rac', $descr, 1, $entry[$object]);
$limits = [ 'limit_high' => $entry['drsMaxPowerSpecification'] ];
$oid = ".1.3.6.1.4.1.674.10892.2.4.1.1.13.$index";
$object = 'drsWattsReading';
discover_sensor_ng($device, 'power', $mib, $object, $oid, $index, $descr, 1, $entry[$object], array_merge($options, $limits));
}
unset($oids);
// table: CMC PSU info
$oids = snmpwalk_cache_oid($device, 'drsCMCPSUTable', array(), $mib);
$oids = snmpwalk_cache_oid($device, 'drsCMCPSUTable', [], $mib);
foreach ($oids as $index => $entry) {
$options = [ 'rename_rrd' => "dell-rac-$index" ];
foreach ($oids as $index => $entry)
{
$descr = 'Chassis '.$entry['drsPSUChassisIndex'].' '.$entry['drsPSULocation'];
$oid = ".1.3.6.1.4.1.674.10892.2.4.2.1.6.$index";
$object = 'drsPSUAmpsReading';
discover_sensor_ng($device, 'current', $mib, $object, $oid, $index, 'dell-rac', $descr, 1, $entry[$object]);
$descr = 'Chassis ' . $entry['drsPSUChassisIndex'] . ' ' . $entry['drsPSULocation'];
$oid = ".1.3.6.1.4.1.674.10892.2.4.2.1.6.$index";
$object = 'drsPSUAmpsReading';
discover_sensor_ng($device, 'current', $mib, $object, $oid, $index, $descr, 1, $entry[$object], $options);
$oid = ".1.3.6.1.4.1.674.10892.2.4.2.1.5.$index";
$limits = array();
$oid = ".1.3.6.1.4.1.674.10892.2.4.2.1.5.$index";
$limits = [];
## FIXME this type of inventing/calculating should be done in the Observium voltage function instead!
if ($entry['drsPSUVoltsReading'] > 360 and $entry['drsPSUVoltsReading'] < 440)
{
// european 400V +/- 10%
$limits = array('limit_high' => 440, 'limit_low' => 360);
}
if ($entry['drsPSUVoltsReading'] > 207 and $entry['drsPSUVoltsReading'] < 253)
{
// european 230V +/- 10%
$limits = array('limit_high' => 253, 'limit_low' => 207);
}
if ($entry['drsPSUVoltsReading'] > 99 and $entry['drsPSUVoltsReading'] < 121)
{
// american 110V +/- 10%
$limits = array('limit_high' => 99, 'limit_low' => 121);
}
$object = 'drsPSUVoltsReading';
discover_sensor_ng($device, 'voltage', $mib, $object, $oid, $index, 'dell-rac', $descr, 1, $entry[$object]);
## FIXME this type of inventing/calculating should be done in the Observium voltage function instead!
if ($entry['drsPSUVoltsReading'] > 360 && $entry['drsPSUVoltsReading'] < 440) {
// european 400V +/- 10%
$limits = ['limit_high' => 440, 'limit_low' => 360];
}
if ($entry['drsPSUVoltsReading'] > 207 && $entry['drsPSUVoltsReading'] < 253) {
// european 230V +/- 10%
$limits = ['limit_high' => 253, 'limit_low' => 207];
}
if ($entry['drsPSUVoltsReading'] > 99 && $entry['drsPSUVoltsReading'] < 121) {
// american 110V +/- 10%
$limits = ['limit_high' => 99, 'limit_low' => 121];
}
$object = 'drsPSUVoltsReading';
discover_sensor_ng($device, 'voltage', $mib, $object, $oid, $index, $descr, 1, $entry[$object], array_merge($options, $limits));
}
// EOF