Linux IPMI (ipmitool)
Description
This connector provides environmental information on several IPMI-enabled servers in-band and out-of-band (temperatures, fans, etc.).
Supersedes
This connector supersedes:
Target
Typical platform: IPMI
Operating system: Linux
Prerequisites
Leverages: IPMI
Technology and protocols: Commands
Examples
CLI
metricshub HOSTNAME -t linux -c +LinuxIpmiTool --ssh -u USER
metricshub.yaml
resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: linux
connectors: [ +LinuxIpmiTool ] # Optional, to load only this connector
protocols:
ssh:
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt
Connector Activation Criteria
The Linux IPMI (ipmitool) connector will be automatically activated, and its status will be reported as OK if all the below criteria are met:
- The command below succeeds on the monitored host:
- Command:
PATH=$PATH:/usr/local/bin:/usr/sfw/bin;export PATH;ipmitool -I open bmc info - Output contains:
IPMI Version(regex)
- Command:
Metrics
| Type | Collected Metrics | Specific Attributes |
|---|---|---|
| battery | hw.status{hw.type="battery", state="degraded|failed|ok"}hw.status{hw.type="battery", state="present"} | hw.parent.idhw.parent.typeidinfomodel |
| blade | hw.status{hw.type="blade", state="degraded|failed|ok"}hw.status{hw.type="blade", state="present"} | hw.parent.idhw.parent.typeidinfomodelnameserial_number |
| cpu | hw.status{hw.type="cpu", state="degraded|failed|ok"}hw.status{hw.type="cpu", state="present"} | hw.parent.idhw.parent.typeidinfomodelvendor |
| enclosure | hw.enclosure.energyhw.enclosure.powerhw.status{hw.type="enclosure", state="degraded|failed|ok"}hw.status{hw.type="enclosure", state="present"} | idinfomodelserial_numbervendor |
| fan | hw.fan.speedhw.fan.speed.limit{limit_type="low.critical"}hw.fan.speed.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.typeidinfosensor_location |
| led | hw.status{hw.type="led", state="degraded|failed|ok"}hw.status{hw.type="led", state="present"} | colorhw.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.typeidinfomodelnameserial_numbervendor |
| other_device | hw.status{hw.type="other_device", state="degraded|failed|ok"}hw.status{hw.type="other_device", state="present"} | additional_labeldevice_typehw.parent.idhw.parent.typeidinfo |
| physical_disk | hw.status{hw.type="physical_disk", state="degraded|failed|ok"}hw.status{hw.type="physical_disk", state="present"} | hw.parent.idhw.parent.typeidinfomodelserial_numbervendor |
| power_supply | hw.status{hw.type="power_supply", state="degraded|failed|ok"}hw.status{hw.type="power_supply", state="present"} | idnamesensor_location |
| temperature | 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="present"}hw.voltagehw.voltage.limit{limit_type="high.critical"}hw.voltage.limit{limit_type="low.critical"} | hw.parent.idhw.parent.typeidnamesensor_location |