QuantaGrid Server (REST)
Description
This connector monitors the hardware of Quanta Cloud Technology (QCT) QuantaGrid servers, such as the QuantaGrid S74G-2U NVIDIA Grace Hopper system, through the Redfish REST API of their AMI MegaRAC BMC.
Enterprise Connector
This connector requires the Enterprise edition of MetricsHub.
Supersedes
This connector supersedes:
Target
Typical platform: Quanta
Operating system: Out-Of-Band
This connector is not available for the local host (it is applicable to remote hosts only).
Prerequisites
Leverages: QuantaGrid BMC Redfish REST API
Technology and protocols: HTTP
Examples
CLI
metricshub HOSTNAME -t oob -c +QuantaGridREST --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: oob
connectors: [ +QuantaGridREST ] # 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 QuantaGrid Server (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
/redfish/v1 - The response body contains:
redfish(regex)
- get
- The HTTP Request below to the managed host succeeds:
- get
/redfish/v1/Systems/System_0 - Request Header:
${file::authHttpHeader.txt} - The response body contains:
QuantaGrid(regex)
- get
Metrics
| Type | Collected Metrics | Specific Attributes |
|---|---|---|
| cpu | hw.cpu.speed.limit{limit_type="max"}hw.status{hw.type="cpu", state="degraded|failed|ok"}hw.status{hw.type="cpu", state="present"} | hw.parent.idhw.parent.typeidinfomodelnamevendor |
| enclosure | hw.power_state{hw.type="enclosure", state="off|on|suspended"}hw.status{hw.type="enclosure", state="degraded|failed|ok"}hw.status{hw.type="enclosure", state="present"} | bios_versionidmodelnamepart_numberserial_numbertypevendor |
| fan | hw.fan.speedhw.fan.speed.limit{limit_type="low.critical"}hw.fan.speed.limit{limit_type="low.degraded"}hw.fan.speed_ratiohw.fan.speed_ratio.limit{limit_type="low.critical"}hw.fan.speed_ratio.limit{limit_type="low.degraded"}hw.status{hw.type="fan", state="degraded|failed|ok"}hw.status{hw.type="fan", state="present"} | hw.parent.idhw.parent.typeidname |
| gpu | hw.energy{hw.type="gpu"}hw.errors{hw.type="gpu", hw.error.type="ecc-memory-corrected", hw.error.severity="non-critical"}hw.errors{hw.type="gpu", hw.error.type="ecc-memory-uncorrected", hw.error.severity="critical"}hw.gpu.clock.limit{hw.type="sm"}hw.gpu.clock{hw.type="sm"}hw.power.limit{hw.type="gpu", limit_type="high.critical"}hw.power{hw.type="gpu"}hw.status{hw.type="gpu", state="degraded|failed|ok"}hw.status{hw.type="gpu", state="present"}hw.temperature{sensor_location="gpu"} | firmware_versionhw.gpu.uuidhw.parent.idhw.parent.typeidinfomodelnameserial_numbervendor |
| memory | hw.memory.limithw.status{hw.type="memory", state="degraded|failed|ok"}hw.status{hw.type="memory", state="present"} | hw.parent.idhw.parent.typeidinfonamepart_numberserial_numbertypevendor |
| network | hw.network.bandwidth.limithw.network.uphw.status{hw.type="network", state="degraded|failed|ok"}hw.status{hw.type="network", state="present"} | device_typehw.parent.idhw.parent.typeidnamephysical_addressphysical_address_type |
| physical_disk | hw.physical_disk.endurance_utilization{state="remaining"}hw.physical_disk.sizehw.status{hw.type="physical_disk", state="degraded|failed|ok"}hw.status{hw.type="physical_disk", state="present"} | hw.parent.idhw.parent.typeidinfomodelnameserial_numbervendor |
| power_supply | hw.power_supply.limithw.power_supply.usagehw.status{hw.type="power_supply", state="degraded|failed|ok"}hw.status{hw.type="power_supply", state="present"} | firmware_versionhw.parent.idhw.parent.typeidinfomodelnamepower_supply_typeserial_numbervendor |
| temperature | hw.status{hw.type="temperature", state="degraded|failed|ok"}hw.status{hw.type="temperature", state="present"}hw.temperaturehw.temperature.limit{limit_type="high.critical"}hw.temperature.limit{limit_type="high.degraded"} | hw.parent.idhw.parent.typeidnamesensor_location |
| voltage | hw.status{hw.type="voltage", state="degraded|failed|ok"}hw.status{hw.type="voltage", state="present"}hw.voltagehw.voltage.limit{limit_type="high.critical"}hw.voltage.limit{limit_type="low.critical"}hw.voltage.limit{limit_type="low.degraded"} | hw.parent.idhw.parent.typeidnamesensor_location |