Skip to main content

Dell PowerFlex Storage (REST)

Description

This connector discovers storage systems and collects performance/capacity metrics for Dell PowerFlex platforms using PowerFlex REST API version 3.

dell emc hardware storage

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

Superseded Connector

This connector is superseded by:

Target

Typical platform: Dell PowerFlex

Operating system: Storage System

Prerequisites

Leverages: PowerFlex REST API version 3

Technology and protocols: HTTP

Examples

CLI

metricshub HOSTNAME -t storage -c +DellPowerFlexRESTv3 --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: [ +DellPowerFlexRESTv3 ] # 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 PowerFlex Storage (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/login
    • The response header contains: ScaleIO Gateway (regex)

Metrics

TypeCollected MetricsSpecific Attributes
enclosurehw.status{hw.type="enclosure", state="degraded|failed|ok"}
hw.status{hw.type="enclosure", state="present"}
storage.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.operations{storage.type="storage_system", storage.io.direction="read"}
storage.operations{storage.type="storage_system", storage.io.direction="write"}
storage.provisioning{storage.type="storage_system", storage.provisioning.state="configured"}
storage.provisioning{storage.type="storage_system", storage.provisioning.state="subscribed"}
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="free_in_pools"}
storage.usage{storage.type="storage_system", storage.provisioning.state="used"}
family
id
name
vendor
physical_diskhw.status{hw.type="physical_disk", state="degraded|failed|ok"}
hw.status{hw.type="physical_disk", state="present"}
storage.io{storage.type="physical_disk", storage.io.direction="read"}
storage.io{storage.type="physical_disk", storage.io.direction="write"}
storage.operations{storage.type="physical_disk", storage.io.direction="read"}
storage.operations{storage.type="physical_disk", storage.io.direction="write"}
storage.size{storage.type="physical_disk"}
storage.usage{storage.type="physical_disk", storage.provisioning.state="free"}
storage.usage{storage.type="physical_disk", storage.provisioning.state="used"}
id
model
name
serial_number
type
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.operations{storage.type="pool", storage.io.direction="read"}
storage.operations{storage.type="pool", storage.io.direction="write"}
storage.size{storage.type="pool"}
storage.usage{storage.type="pool", storage.provisioning.state="free"}
storage.usage{storage.type="pool", storage.provisioning.state="used"}
id
name
storage.parent.id
storage.parent.type
type
usage
volumestorage.io{storage.type="volume", storage.io.direction="read"}
storage.io{storage.type="volume", storage.io.direction="write"}
storage.limit{storage.type="volume"}
storage.operations{storage.type="volume", storage.io.direction="read"}
storage.operations{storage.type="volume", storage.io.direction="write"}
id
name
storage.consumer.state
storage.parent.id
storage.parent.type
storage.volume.type