Skip to main content

HPE MSA (REST)

Description

This connector enables hardware monitoring for HPE MSA 1000/2000 systems through the HPE MSA Management REST API. It monitors the enclosure, controllers, and physical disks, as well as the various environment sensors (fans, power supplies, network cards, voltages, and temperature).

hardware hpe storage

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

Target

Typical platform: HPE MSA

Operating system: Storage System

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

Prerequisites

Leverages: N/A

Technology and protocols: HTTP

Examples

CLI

metricshub HOSTNAME -t storage -c +HPEMSAREST --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: [ +HPEMSAREST ] # 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 HPE MSA (REST) connector must be selected manually, 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 /api/login/%{SHA256_AUTH}
    • Request Header: datatype: json
    • The response body contains: response-type&quot;:&quot;Success (regex)

Metrics

TypeCollected MetricsSpecific Attributes
disk_controllerhw.status{hw.type="disk_controller", state="degraded|failed|ok"}
hw.status{hw.type="disk_controller", state="present"}
bios_version
controller_number
firmware_version
hw.parent.type
id
model
name
serial_number
vendor
enclosurehw.enclosure.energy
hw.enclosure.power
hw.status{hw.type="enclosure", state="degraded|failed|ok"}
hw.status{hw.type="enclosure", state="present"}
storage.limit{storage.type="storage_system"}
storage.size{storage.type="storage_system"}
storage.usage{storage.type="storage_system", storage.provisioning.state="free"}
storage.usage{storage.type="storage_system", storage.provisioning.state="used"}
id
model
name
serial_number
type
vendor
fanhw.fan.speed
hw.status{hw.type="fan", state="degraded|failed|ok"}
hw.status{hw.type="fan", state="present"}
hw.parent.type
id
name
sensor_location
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
model
name
physical_address
physical_address_type
vendor
physical_diskhw.errors{hw.type="physical_disk"}
hw.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"}
storage.size{storage.type="physical_disk"}
firmware_version
hw.parent.id
hw.parent.type
id
model
name
serial_number
vendor
poolstorage.io{storage.type="pool", storage.io.direction="read"}
storage.io{storage.type="pool", storage.io.direction="write"}
storage.limit{storage.type="pool"}
storage.provisioning{storage.type="pool", storage.provisioning.state="oversubscribed"}
storage.status
storage.usage{storage.type="pool", storage.provisioning.state="free"}
storage.usage{storage.type="pool", storage.provisioning.state="used"}
dothill.storage.pool.usage
id
name
serial_number
storage.disk_type
storage.pool.type
storage.raid_level
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
info
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
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
volumestorage.io{storage.type="volume", storage.io.direction="read"}
storage.io{storage.type="volume", storage.io.direction="write"}
storage.limit{storage.type="volume"}
storage.usage{storage.type="volume", storage.provisioning.state="free"}
storage.usage{storage.type="volume", storage.provisioning.state="used"}
id
name
storage.consumer.naa_id
storage.consumer.state
storage.parent.id
storage.parent.type
storage.raid_level
storage.volume.type