Skip to main content

Hitachi (REST)

Description

This connector enables hardware monitoring for VSP E-Series, VSP F-Series and G-Series Hitachi Storage Systems through the Hitachi Configuration Manager REST API on port 23451.

hardware hitachi storage

Enterprise Connector

This connector requires the Enterprise edition of MetricsHub.

Target

Typical platform: Hitachi VSP

Operating system: Storage System

Prerequisites

Leverages: Hitachi Configuration Manager REST API

Technology and protocols: HTTP

Examples

CLI

metricshub HOSTNAME -t storage -c +HitachiREST --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: [ +HitachiREST ] # 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 Hitachi (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 /ConfigurationManager/v1/objects/storages
    • Request Header: ${file::httpHeader}
    • The response body contains: storageDeviceId (regex)

Metrics

TypeCollected MetricsSpecific Attributes
batteryhw.battery.charge
hw.status{hw.type="battery", state="degraded|failed|ok"}
hw.status{hw.type="battery", state="present"}
hw.parent.id
hw.parent.type
id
name
type
disk_controllerhw.status{hw.type="disk_controller", state="degraded|failed|ok"}
hw.status{hw.type="disk_controller", state="present"}
hw.parent.id
hw.parent.type
id
name
enclosurehw.enclosure.energy
hw.enclosure.power
hw.status{hw.type="enclosure", state="present"}
storage.limit{storage.type="storage_system"}
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_for_pools"}
storage.usage{storage.type="storage_system", storage.provisioning.state="free_in_pools"}
storage.usage{storage.type="storage_system", storage.provisioning.state="used"}
device_hostname
family
id
model
name
serial_number
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
ledhw.status{hw.type="led", state="degraded|failed|ok"}
hw.status{hw.type="led", state="present"}
hw.parent.id
hw.parent.type
id
name
memoryhw.memory.limit
hw.status{hw.type="memory", state="degraded|failed|ok"}
hw.status{hw.type="memory", state="present"}
hw.parent.id
hw.parent.type
id
model
name
type
networkhw.network.bandwidth.limit
hw.status{hw.type="network", state="present"}
address
device_type
hw.parent.id
hw.parent.type
id
name
other_devicehw.status{hw.type="other_device", state="degraded|failed|ok"}
hw.status{hw.type="other_device", state="present"}
device_type
hw.parent.id
hw.parent.type
id
name
physical_diskhw.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"}
hw.parent.id
hw.parent.type
id
model
name
serial_number
speed
poolstorage.limit{storage.type="pool"}
storage.provisioning{storage.type="pool", storage.provisioning.state="configured"}
storage.provisioning{storage.type="pool", storage.provisioning.state="subscribed"}
storage.status{storage.type="pool", state="degraded|failed|ok"}
storage.usage{storage.type="pool", storage.provisioning.state="free"}
storage.usage{storage.type="pool", storage.provisioning.state="used"}
disk_type
id
name
raid_level
storage.parent.id
storage.parent.type
type
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
name
power_supply_type
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
sensor_location
volumestorage.limit{storage.type="volume"}
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
raid_level
storage.parent.id
storage.parent.type
storage.system.id
storage.volume.type