Skip to main content

Huawei OceanStor (REST)

Description

This connector discovers environmental sensors, fans, controllers, power supplies, battery backup units, CPUs, LUNs, physical disks and network cards for Huawei OceanStor storage devices. It relies on OceanStor V3 and higher.

hardware huawei storage

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

Supersedes

This connector supersedes:

Target

Typical platform: Huawei OceanStor

Operating system: Storage System

This connector is not available for the local host (it is applicable to remote hosts only).

Prerequisites

Leverages: Huawei DeviceManager REST API

Technology and protocols: HTTP

Examples

CLI

metricshub HOSTNAME -t storage -c +HuaweiOceanStorREST --https --http-port 443 -u USERNAME

metricshub.yaml

resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: storage
connectors: [ +HuaweiOceanStorREST ] # Optional, to load only this connector
protocols:
http:
https: true
port: 443 # or probably something else
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt

Connector Activation Criteria

The Huawei OceanStor (REST) connector will be automatically activated, and its status will be reported as OK if all the below criteria are met:

  • The HTTP Request below to the managed host succeeds:
    • GET /deviceManager/devicemanager/feature/login/login.html
    • Request Header: Accept:*/*
    • The response body contains: \(huawei\)\|\(ocean\s*stor\)\|\(dorado\)|\(pacific\) (regex)

Metrics

TypeCollected MetricsSpecific Attributes
batteryhw.status{hw.type="battery", state="degraded|failed|ok"}
hw.status{hw.type="battery", state="present"}
hw.parent.id
hw.parent.type
id
name
cpuhw.cpu.speed
hw.cpu.speed.limit{limit_type="max"}
hw.status{hw.type="cpu", state="degraded|failed|ok"}
hw.status{hw.type="cpu", state="present"}
hw.parent.id
hw.parent.type
id
name
disk_controllerhw.status{hw.type="disk_controller", state="degraded|failed|ok"}
hw.status{hw.type="disk_controller", state="present"}
firmware_version
hw.parent.id
hw.parent.type
id
name
enclosurehw.status{hw.type="enclosure", state="degraded|failed|ok"}
hw.status{hw.type="enclosure", state="present"}
bios_version
id
model
name
serial_number
type
vendor
fanhw.status{hw.type="fan", state="degraded|failed|ok"}
hw.status{hw.type="fan", state="present"}
hw.parent.id
hw.parent.type
id
name
logical_diskhw.logical_disk.limit
hw.status{hw.type="logical_disk", state="degraded|failed|ok"}
hw.parent.id
hw.parent.type
id
name
type
networkhw.network.bandwidth.limit
hw.network.up
hw.status{hw.type="network", state="degraded|failed|ok"}
hw.status{hw.type="network", state="present"}
device_type
hw.parent.id
hw.parent.type
id
logical_address
logical_address_type
name
physical_diskhw.physical_disk.endurance_utilization{state="remaining"}
hw.physical_disk.size
hw.status{hw.type="physical_disk", state="degraded|failed|ok"}
hw.status{hw.type="physical_disk", state="present"}
firmware_version
hw.parent.id
hw.parent.type
id
model
name
serial_number
vendor
power_supplyhw.status{hw.type="power_supply", state="degraded|failed|ok"}
hw.status{hw.type="power_supply", state="present"}
hw.parent.id
hw.parent.type
id
name
temperaturehw.status{hw.type="temperature", state="degraded|failed|ok"}
hw.status{hw.type="temperature", state="present"}
hw.temperature
hw.parent.id
hw.parent.type
id
name
sensor_location
voltagehw.status{hw.type="voltage", state="degraded|failed|ok"}
hw.status{hw.type="voltage", state="present"}
hw.voltage
hw.parent.id
hw.parent.type
id
name
sensor_location