Skip to main content

Dell EMC PowerStore (REST)

Description

This connector enables hardware monitoring for Dell EMC PowerStore systems through the PowerStore Management REST API. It monitors the enclosure and the physical disks as well as the various environment sensors (fans, power supplies, memory modules, batteries and network cards).

dell emc hardware storage

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

Target

Typical platform: Dell PowerStore

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 +DellEMCPowerStoreREST --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: [ +DellEMCPowerStoreREST ] # 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 Dell EMC PowerStore (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 /api/rest/appliance?select=*
    • The response body contains: powerstore (regex)

Metrics

TypeCollected MetricsSpecific Attributes
appliance_poolstorage.io{storage.type="pool", storage.io.direction="read"}
storage.io{storage.type="pool", storage.io.direction="write"}
storage.limit{storage.type="pool"}
storage.operation_time{storage.type="pool", storage.io.direction="read"}
storage.operation_time{storage.type="pool", storage.io.direction="write"}
storage.operations{storage.type="pool", storage.io.direction="read"}
storage.operations{storage.type="pool", storage.io.direction="write"}
storage.usage{storage.type="pool", storage.provisioning.state="free"}
storage.usage{storage.type="pool", storage.provisioning.state="used"}
dellemc.powerstore.storage.type
id
name
storage.parent.id
storage.parent.type
type
usage
batteryhw.status{hw.type="battery", state="degraded|failed|ok"}
hw.status{hw.type="battery", state="present"}
hw.parent.id
hw.parent.type
id
name
bladehw.status{hw.type="blade", state="present"}hw.parent.id
hw.parent.type
id
name
serial_number
container_poolstorage.limit{storage.type="pool"}
storage.usage{storage.type="pool", storage.provisioning.state="free"}
storage.usage{storage.type="pool", storage.provisioning.state="used"}
dellemc.powerstore.storage.type
id
name
storage.parent.id
storage.parent.type
type
usage
enclosurehw.status{hw.type="enclosure", state="degraded|failed|ok"}
hw.status{hw.type="enclosure", state="present"}
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
file_systemstorage.io{storage.type="file_system", storage.io.direction="read"}
storage.io{storage.type="file_system", storage.io.direction="write"}
storage.limit{storage.type="file_system", limit_type="quota_hard"}
storage.limit{storage.type="file_system", limit_type="quota_soft"}
storage.operation_time{storage.type="file_system", storage.io.direction="read"}
storage.operation_time{storage.type="file_system", storage.io.direction="write"}
storage.operations{storage.type="file_system", storage.io.direction="read"}
storage.operations{storage.type="file_system", storage.io.direction="write"}
storage.size{storage.type="file_system"}
storage.usage{storage.type="file_system", storage.provisioning.state="free"}
storage.usage{storage.type="file_system", storage.provisioning.state="used"}
id
name
storage.parent.id
storage.parent.type
storage_system.name
type
memoryhw.status{hw.type="memory", state="degraded|failed|ok"}
hw.status{hw.type="memory", state="present"}
hw.parent.id
hw.parent.type
id
name
serial_number
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
name
physical_diskhw.physical_disk.size
hw.status{hw.type="physical_disk", state="degraded|failed|ok"}
hw.status{hw.type="physical_disk", state="present"}
hw.parent.id
hw.parent.type
id
model
serial_number
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
storage_systemstorage.io{storage.type="storage_system", storage.io.direction="read"}
storage.io{storage.type="storage_system", storage.io.direction="write"}
storage.limit{storage.type="storage_system"}
storage.operation_time{storage.type="storage_system", storage.io.direction="read"}
storage.operation_time{storage.type="storage_system", storage.io.direction="write"}
storage.operations{storage.type="storage_system", storage.io.direction="read"}
storage.operations{storage.type="storage_system", storage.io.direction="write"}
storage.size{storage.type="storage_system"}
storage.status{storage.type="storage_system", state="degraded|failed|ok"}
storage.usage{storage.type="storage_system", storage.provisioning.state="free"}
storage.usage{storage.type="storage_system", storage.provisioning.state="used"}
family
id
model
name
serial_number
vendor
volumestorage.io{storage.type="volume", storage.io.direction="read"}
storage.io{storage.type="volume", storage.io.direction="write"}
storage.limit{storage.type="volume"}
storage.operation_time{storage.type="volume", storage.io.direction="read"}
storage.operation_time{storage.type="volume", storage.io.direction="write"}
storage.operations{storage.type="volume", storage.io.direction="read"}
storage.operations{storage.type="volume", storage.io.direction="write"}
storage.status{storage.type="volume", state="degraded|failed|ok"}
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.name
storage.consumer.state
storage.parent.id
storage.parent.type
storage.volume.type