Commit version 24.12.13800
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user