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