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.
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)
- get
Metrics
| Type | Collected Metrics | Specific Attributes |
|---|---|---|
| enclosure | hw.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"} | familyidnamevendor |
| physical_disk | hw.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"} | idmodelnameserial_numbertypevendor |
| pool | storage.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"} | idnamestorage.parent.idstorage.parent.typetypeusage |
| volume | storage.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"} | idnamestorage.consumer.statestorage.parent.idstorage.parent.typestorage.volume.type |