Skip to content

Commit

Permalink
Added support for Huawei iBMC (#9011)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
PipoCanaja authored and laf committed Aug 15, 2018
1 parent 2adecd5 commit 731da95
Show file tree
Hide file tree
Showing 6 changed files with 21,382 additions and 0 deletions.
110 changes: 110 additions & 0 deletions includes/definitions/discovery/ibmc.yaml
@@ -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 changes: 24 additions & 0 deletions includes/definitions/ibmc.yaml
@@ -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 changes: 15 additions & 0 deletions includes/polling/os/ibmc.inc.php
@@ -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);

0 comments on commit 731da95

Please sign in to comment.