mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 10:28:13 +00:00
Update Dell MIBs (#16120)
* Update Dell MIBs tidy up some related code a bit too to make it more readable * handle extra data correctly (discard it)
This commit is contained in:
parent
449b53d7fc
commit
04a70d2fda
@ -22,13 +22,12 @@ $tables = [
|
||||
['batteryTable', '.1.3.6.1.4.1.674.10893.1.20.130.15.1.4.', 'batteryState', 'batteryName', 'StorageManagement-MIB', 'dell'],
|
||||
];
|
||||
|
||||
foreach ($tables as $tablevalue) {
|
||||
$temp = snmpwalk_cache_multi_oid($device, $tablevalue[0], [], $tablevalue[4], $tablevalue[5]);
|
||||
$cur_oid = $tablevalue[1];
|
||||
foreach ($tables as [$table, $num_oid, $value_oid, $descr_oid, $mib, $mib_dir]) {
|
||||
$temp = snmpwalk_cache_multi_oid($device, $table, [], $mib, $mib_dir);
|
||||
|
||||
if (is_array($temp)) {
|
||||
//Create State Index
|
||||
$state_name = 'dell.' . $tablevalue[2];
|
||||
$state_name = 'dell.' . $value_oid;
|
||||
if ($state_name == 'dell.processorDeviceStatusStatus' || $state_name == 'dell.memoryDeviceStatus' || $state_name == 'dell.powerSupplyStatus' || $state_name == 'dell.intrusionStatus') {
|
||||
$states = [
|
||||
['value' => 1, 'generic' => 3, 'graph' => 0, 'descr' => 'other'],
|
||||
@ -107,18 +106,18 @@ foreach ($tables as $tablevalue) {
|
||||
create_state_index($state_name, $states);
|
||||
|
||||
foreach ($temp as $index => $entry) {
|
||||
if (strpos($index, '54.') === false) { //Because Dell is buggy
|
||||
if (array_key_exists($value_oid, $entry)) { // ward against extra data from newer MIBs
|
||||
if ($state_name == 'dell.intrusionStatus') {
|
||||
$descr = $tablevalue[3];
|
||||
$descr = $descr_oid;
|
||||
} elseif ($state_name == 'dell.batteryState') {
|
||||
$descr = str_replace('"', '', snmp_get($device, 'batteryConnectionControllerName.' . $index . '', '-Ovqn', $tablevalue[4])) . ' - ' . $temp[$index][$tablevalue[3]];
|
||||
$descr = str_replace('"', '', snmp_get($device, 'batteryConnectionControllerName.' . $index, '-Ovqn', $mib)) . ' - ' . $entry[$descr_oid];
|
||||
} elseif ($state_name == 'dell.arrayDiskState') {
|
||||
$descr = str_replace('"', '', snmp_get($device, 'arrayDiskEnclosureConnectionEnclosureName.' . $index . '', '-Ovqn', $tablevalue[4])) . ' - ' . $temp[$index][$tablevalue[3]];
|
||||
$descr = str_replace('"', '', snmp_get($device, 'arrayDiskEnclosureConnectionEnclosureName.' . $index, '-Ovqn', $mib)) . ' - ' . $entry[$descr_oid];
|
||||
} else {
|
||||
$descr = strip_tags($temp[$index][$tablevalue[3]]); // Use clean as virtualDiskDeviceName is user defined
|
||||
$descr = strip_tags($entry[$descr_oid]); // Use clean as virtualDiskDeviceName is user defined
|
||||
}
|
||||
//Discover Sensors
|
||||
discover_sensor($valid['sensor'], 'state', $device, $cur_oid . $index, $index, $state_name, $descr, 1, 1, null, null, null, null, $temp[$index][$tablevalue[2]], 'snmp', $index);
|
||||
discover_sensor($valid['sensor'], 'state', $device, $num_oid . $index, $index, $state_name, $descr, 1, 1, null, null, null, null, $entry[$value_oid], 'snmp', $index);
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $index);
|
||||
|
@ -20,8 +20,7 @@ $tables = [
|
||||
['systemBatteryTable', '.1.3.6.1.4.1.674.10892.5.4.600.50.1.5.', 'systemBatteryStatus', 'systemBatteryLocationName'],
|
||||
];
|
||||
|
||||
foreach ($tables as $tablevalue) {
|
||||
[$table_oid, $num_oid, $value_oid, $descr_oid] = $tablevalue;
|
||||
foreach ($tables as [$table_oid, $num_oid, $value_oid, $descr_oid]) {
|
||||
$temp = snmpwalk_cache_multi_oid($device, $table_oid, [], 'IDRAC-MIB-SMIv2', null, '-OQUse');
|
||||
// '-OQUsetX'
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user