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.
Enterprise Connector
This connector requires the Enterprise edition of MetricsHub.
Supersedes
This connector supersedes:
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)
- get
Metrics
| Type | Collected Metrics | Specific Attributes |
|---|---|---|
| battery | hw.battery.chargehw.status{hw.type="battery", state="degraded|failed|ok"}hw.status{hw.type="battery", state="present"} | hw.parent.idhw.parent.typeidnametype |
| disk_controller | hw.status{hw.type="disk_controller", state="degraded|failed|ok"}hw.status{hw.type="disk_controller", state="present"} | hw.parent.idhw.parent.typeidname |
| enclosure | hw.enclosure.energyhw.enclosure.powerhw.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_hostnamefamilyidmodelnameserial_numbervendor |
| fan | hw.status{hw.type="fan", state="degraded|failed|ok"}hw.status{hw.type="fan", state="present"} | hw.parent.idhw.parent.typeidname |
| led | hw.status{hw.type="led", state="degraded|failed|ok"}hw.status{hw.type="led", state="present"} | hw.parent.idhw.parent.typeidname |
| memory | hw.memory.limithw.status{hw.type="memory", state="degraded|failed|ok"}hw.status{hw.type="memory", state="present"} | hw.parent.idhw.parent.typeidmodelnametype |
| network | hw.network.bandwidth.limithw.status{hw.type="network", state="present"} | addressdevice_typehw.parent.idhw.parent.typeidname |
| other_device | hw.status{hw.type="other_device", state="degraded|failed|ok"}hw.status{hw.type="other_device", state="present"} | device_typehw.parent.idhw.parent.typeidname |
| physical_disk | hw.physical_disk.sizehw.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.idhw.parent.typeidmodelnameserial_numberspeed |
| pool | storage.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_typeidnameraid_levelstorage.parent.idstorage.parent.typetype |
| power_supply | hw.status{hw.type="power_supply", state="degraded|failed|ok"}hw.status{hw.type="power_supply", state="present"} | hw.parent.idhw.parent.typeidnamepower_supply_type |
| temperature | hw.status{hw.type="temperature", state="degraded|failed|ok"}hw.status{hw.type="temperature", state="present"}hw.temperature | hw.parent.idhw.parent.typeidnamesensor_location |
| volume | storage.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"} | idnameraid_levelstorage.parent.idstorage.parent.typestorage.system.idstorage.volume.type |