Skip to main content

Dot Hill System (REST)

Description

This connector enables hardware monitoring for Dot Hill systems through the 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 storage

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

Target

Typical platform: Dot Hill

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 +DotHillREST --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: [ +DotHillREST ] # 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 Dot Hill System (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/%{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