mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added support for Huawei iBMC (#9011)
* Device: Huawei iBMC - Initial support for Huawei iBMC on RH servers * Device: Huawei iBMC - Server management Console * Device: Huawei iBMC - Server management Console - snmp_get_multi_oid * Added json test data
This commit is contained in:
committed by
Neil Lathwood
parent
2adecd5ddb
commit
731da950d9
110
includes/definitions/discovery/ibmc.yaml
Normal file
110
includes/definitions/discovery/ibmc.yaml
Normal file
@@ -0,0 +1,110 @@
|
||||
mib: HUAWEI-SERVER-IBMC-MIB
|
||||
modules:
|
||||
sensors:
|
||||
fanspeed:
|
||||
options:
|
||||
skip_values_lt: 0
|
||||
data:
|
||||
-
|
||||
oid: fanDescriptionEntry
|
||||
value: fanSpeed
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.8.50.1.2.
|
||||
descr: 'fanDevicename'
|
||||
index: 'fanSpeed.{{ $index }}'
|
||||
power:
|
||||
options:
|
||||
skip_values_lt: 0
|
||||
data:
|
||||
-
|
||||
oid: powerSupplyDescriptionEntry
|
||||
value: powerSupplyInputPower
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.6.50.1.8.
|
||||
descr: 'Power Supply {{ $index }} Input'
|
||||
index: 'powerSupplyIndex.{{ $index }}'
|
||||
temperature:
|
||||
data:
|
||||
-
|
||||
oid: TemperatureDescriptionEntry
|
||||
value: temperatureReading
|
||||
divisor: 10
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.26.50.1.3.
|
||||
descr: 'temperatureObject'
|
||||
index: 'temperatureIndex.{{ $index }}'
|
||||
state:
|
||||
data:
|
||||
-
|
||||
oid: cpuDescriptionEntry
|
||||
value: cpuStatus
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.15.50.1.6.
|
||||
descr: 'Processor {{ $cpuFamily }} @{{ $cpuClockRate }} #{{ $cpuIndex }}'
|
||||
index: 'cpuStatus.{{ $index }}'
|
||||
state_name: cpuStatus
|
||||
states:
|
||||
- { descr: ok, graph: 0, value: 1, generic: 0 }
|
||||
- { descr: minor, graph: 0, value: 2, generic: 1 }
|
||||
- { descr: major, graph: 0, value: 3, generic: 2 }
|
||||
- { descr: critical, graph: 0, value: 4, generic: 2 }
|
||||
- { descr: absent, graph: 0, value: 5, generic: 0 }
|
||||
- { descr: unknown, graph: 0, value: 6, generic: 3 }
|
||||
-
|
||||
oid: hardDiskDescriptionEntry
|
||||
value: hardDiskStatus
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.18.50.1.3.
|
||||
descr: 'Drive Bay {{ $index }} {{ $hardDiskDevicename }}'
|
||||
index: 'hardDiskStatus.{{ $index }}'
|
||||
state_name: hardDiskStatus
|
||||
states:
|
||||
- { descr: ok, graph: 0, value: 1, generic: 0 }
|
||||
- { descr: minor, graph: 0, value: 2, generic: 1 }
|
||||
- { descr: major, graph: 0, value: 3, generic: 2 }
|
||||
- { descr: critical, graph: 0, value: 4, generic: 2 }
|
||||
- { descr: absent, graph: 0, value: 5, generic: 0 }
|
||||
- { descr: unknown, graph: 0, value: 6, generic: 3 }
|
||||
-
|
||||
oid: fanDescriptionEntry
|
||||
value: fanStatus
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.8.50.1.4.
|
||||
descr: 'fanDevicename'
|
||||
index: 'fanSpeed.{{ $index }}'
|
||||
state_name: fanStatus
|
||||
states:
|
||||
- { descr: ok, graph: 0, value: 1, generic: 0 }
|
||||
- { descr: minor, graph: 0, value: 2, generic: 1 }
|
||||
- { descr: major, graph: 0, value: 3, generic: 2 }
|
||||
- { descr: critical, graph: 0, value: 4, generic: 2 }
|
||||
- { descr: absent, graph: 0, value: 5, generic: 0 }
|
||||
- { descr: unknown, graph: 0, value: 6, generic: 3 }
|
||||
-
|
||||
oid: memoryEntireStatus
|
||||
value: memoryEntireStatus
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.16.1.
|
||||
descr: 'Memory Status'
|
||||
index: 'memoryEntireStatus.{{ $index }}'
|
||||
state_name: memoryEntireStatus
|
||||
states:
|
||||
- { descr: ok, graph: 0, value: 1, generic: 0 }
|
||||
- { descr: minor, graph: 0, value: 2, generic: 1 }
|
||||
- { descr: major, graph: 0, value: 3, generic: 2 }
|
||||
- { descr: critical, graph: 0, value: 4, generic: 2 }
|
||||
- { descr: absent, graph: 0, value: 5, generic: 0 }
|
||||
- { descr: unknown, graph: 0, value: 6, generic: 3 }
|
||||
-
|
||||
oid: memoryDescriptionEntry
|
||||
value: memoryStatus
|
||||
num_oid: .1.3.6.1.4.1.2011.2.235.1.1.16.50.1.6.
|
||||
descr: '{{ $memoryLogic }} {{ $memoryManufacturer }} {{ $memorySize }} {{ $memoryClockRate }}'
|
||||
index: 'memoryStatus.{{ $index }}'
|
||||
state_name: memoryStatus
|
||||
states:
|
||||
- { descr: ok, graph: 0, value: 1, generic: 0 }
|
||||
- { descr: minor, graph: 0, value: 2, generic: 1 }
|
||||
- { descr: major, graph: 0, value: 3, generic: 2 }
|
||||
- { descr: critical, graph: 0, value: 4, generic: 2 }
|
||||
- { descr: absent, graph: 0, value: 5, generic: 0 }
|
||||
- { descr: unknown, graph: 0, value: 6, generic: 3 }
|
||||
skip_values:
|
||||
-
|
||||
oid: memoryStatus
|
||||
op: '='
|
||||
value: 5
|
||||
|
24
includes/definitions/ibmc.yaml
Normal file
24
includes/definitions/ibmc.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
os: ibmc
|
||||
text: 'Huawei iBMC Management Console'
|
||||
type: appliance
|
||||
icon: huawei
|
||||
group: ibmc
|
||||
over:
|
||||
- { graph: device_temperature, text: 'Temperature' }
|
||||
- { graph: device_power, text: 'Power' }
|
||||
- { graph: device_fanspeed, text: 'Fans' }
|
||||
mib_dir:
|
||||
- huawei
|
||||
poller_modules:
|
||||
bgp-peers: false
|
||||
stp: false
|
||||
wireless: false
|
||||
discovery_modules:
|
||||
bgp-peers: false
|
||||
cisco-vrf-lite: false
|
||||
stp: false
|
||||
wireless: false
|
||||
discovery:
|
||||
- sysObjectID:
|
||||
- .1.3.6.1.4.1.2011.2.235
|
||||
|
15
includes/polling/os/ibmc.inc.php
Normal file
15
includes/polling/os/ibmc.inc.php
Normal file
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
$oids = array (
|
||||
'version' => 'firmwareVersion.11.65.99.116.105.118.101.32.105.66.77.67', // firmwareVersion."Active iBMC"
|
||||
'hardware' => 'deviceName.0',
|
||||
'serial' => 'deviceSerialNo.0'
|
||||
);
|
||||
|
||||
$data = snmp_get_multi_oid($device, $oids, '-OUQs', 'HUAWEI-SERVER-IBMC-MIB');
|
||||
|
||||
foreach ($oids as $var => $oid) {
|
||||
$$var = $data[$oid];
|
||||
}
|
||||
|
||||
unset($data, $oids);
|
16768
mibs/huawei/HUAWEI-SERVER-IBMC-MIB
Normal file
16768
mibs/huawei/HUAWEI-SERVER-IBMC-MIB
Normal file
File diff suppressed because it is too large
Load Diff
2983
tests/data/ibmc.json
Normal file
2983
tests/data/ibmc.json
Normal file
File diff suppressed because it is too large
Load Diff
1482
tests/snmpsim/ibmc.snmprec
Normal file
1482
tests/snmpsim/ibmc.snmprec
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user