Connectors directory[1]   Full listing of connectors[2]

Dell EMC PowerMax Storage (REST)

Description

This connector discovers storage systems and collects performance/capacity metrics for Dell EMC PowerMax platforms.

dell[3] emc[4] enterprise[5] hardware[6] storage[7]

Target

Typical platform: Dell EMC PowerMax[8]

Operating system: Storage System

Prerequisites

Leverages: Dell EMC Unisphere REST API v10.1 or higher

Technology and protocols: HTTP/REST

Examples

CLI

metricshub HOSTNAME -t storage -c +DellEMCPowerMaxREST --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: [ +DellEMCPowerMaxREST ] # 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 PowerMax 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 /univmax/restapi/101/system/symmetrix
    • The response body contains: symmetrixId (regex)

Metrics

Type Collected Metrics Specific Attributes
controller
  • hw.status{hw.type="controller", dell.storage.type="director", state="degraded|failed|ok"}
  • storage.operation_time{storage.type="controller", storage.direction="read"}
  • storage.operation_time{storage.type="controller", storage.direction="write"}
  • storage.operations{storage.type="controller", storage.direction="read"}
  • storage.operations{storage.type="controller", storage.direction="write"}
  • system.cpu.utilization{storage.type="controller"}
  • hw.parent.id
  • hw.parent.type
  • id
network
  • hw.network.bandwidth.limit
  • hw.network.bandwidth.utilization{direction="receive"}
  • hw.network.bandwidth.utilization{direction="transmit"}
  • hw.network.io{direction="receive"}
  • hw.network.io{direction="transmit"}
  • hw.network.up
  • hw.status{hw.type="network", state="degraded|failed|ok"}
  • hw.status{hw.type="network", state="present"}
  • storage.operation_time{storage.type="network", storage.direction="read"}
  • storage.operation_time{storage.type="network", storage.direction="write"}
  • storage.operations{storage.type="network", storage.direction="read"}
  • storage.operations{storage.type="network", storage.direction="write"}
  • address
  • hw.parent.id
  • hw.parent.type
  • id
  • name
  • network_type
  • role
physical_disk
  • hw.status{hw.type="physical_disk", state="present"}
  • storage.io{storage.type="physical_disk", storage.direction="read"}
  • storage.io{storage.type="physical_disk", storage.direction="write"}
  • storage.limit{storage.type="physical_disk"}
  • storage.operation_time{storage.type="physical_disk", storage.direction="read"}
  • storage.operation_time{storage.type="physical_disk", storage.direction="write"}
  • storage.operations{storage.type="physical_disk", storage.direction="read"}
  • storage.operations{storage.type="physical_disk", storage.direction="write"}
  • storage.usage{storage.type="physical_disk", storage.provisioning.state="free"}
  • storage.usage{storage.type="physical_disk", storage.provisioning.state="used"}
  • hw.parent.id
  • hw.parent.type
  • id
  • manufacturer
  • model
  • name
pool
  • storage.io{storage.type="pool", storage.direction="read"}
  • storage.io{storage.type="pool", storage.direction="write"}
  • storage.limit{storage.type="pool"}
  • storage.operations{storage.type="pool", storage.direction="read"}
  • storage.operations{storage.type="pool", storage.direction="write"}
  • storage.provisioning{storage.type="pool", storage.provisioning.state="configured"}
  • storage.provisioning{storage.type="pool", storage.provisioning.state="subscribed"}
  • 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
system
  • storage.io{storage.type="storage_system", storage.direction="read"}
  • storage.io{storage.type="storage_system", storage.direction="write"}
  • storage.limit{storage.type="storage_system"}
  • storage.operation_time{storage.type="storage_system", storage.direction="read"}
  • storage.operation_time{storage.type="storage_system", storage.direction="write"}
  • storage.operations{storage.type="storage_system", storage.direction="read"}
  • storage.operations{storage.type="storage_system", storage.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="used"}
  • family
  • id
  • model
  • name
  • serial_number
  • vendor
volume
  • storage.io{storage.type="volume", storage.direction="read"}
  • storage.io{storage.type="volume", storage.direction="write"}
  • storage.limit{storage.type="volume"}
  • storage.operation_time{storage.type="volume", storage.direction="read"}
  • storage.operation_time{storage.type="volume", storage.direction="write"}
  • storage.operations{storage.type="volume", storage.direction="read"}
  • storage.operations{storage.type="volume", storage.direction="write"}
  • storage.status{storage.type="volume", state="degraded|failed|ok"}
  • id
  • name
  • storage.consumer.naa_id
  • storage.consumer.state
  • storage.parent.id
  • storage.parent.type
  • usage
  • volume_type
No results.