Info
License: Free — part of the universal collection tier.
IPMI / BMC Sensors¶
The ipmi probe reads hardware sensor data from the local machine's Baseboard
Management Controller via ipmitool, reporting temperatures, fan speeds,
voltages and power supply status.
Linux only. Requires ipmitool and the OpenIPMI kernel driver (ipmi_si).
Quick start¶
# probes.d/10-ipmi.yaml — each file under probes.d/ is a YAML array of probes
- name: ipmi
type: ipmi
For local sensors, no parameters are needed. The probe calls ipmitool sdr
against the local BMC.
Parameters¶
| Parameter | Must set | Default | Description |
|---|---|---|---|
mode |
No | local |
local reads the host's own BMC; remote polls a BMC over LAN. One of local, remote |
remote |
If mode is remote |
- | Remote BMC access, used with mode remote |
remote.host |
No | - | BMC address or hostname; required with mode remote |
remote.username |
No | - | IPMI user |
remote.password |
No | - | IPMI user's password. A secret: reference it with ${secret:…}, ${env:…} or ${file:…} rather than writing it in the file |
remote.interface |
No | lanplus |
ipmitool interface; lanplus for IPMI 2.0, lan for IPMI 1.5 |
sensors |
No | - | Sensor selection |
sensors.include_types |
No | - | Only these sensor types; empty means all. Example: Temperature, Fan |
sensors.exclude_names |
No | - | Regular expressions of sensor names to skip |
ipmitool_path |
No | ipmitool |
Path of the ipmitool binary when it is not on the PATH. Example: /usr/bin/ipmitool |
interval |
No | 60 |
Seconds between collections |
exec_timeout |
No | 10 |
Seconds an ipmitool run may take before it is killed |
To poll a BMC over the network instead of the host's own, set mode: remote
and give the BMC under the remote block. Sensor filters live under the
sensors block:
# probes.d/10-ipmi.yaml
- name: ipmi
type: ipmi
params:
mode: remote
remote:
host: 10.0.0.50
username: monitor
password: ${secret:ipmi.password} # OS secret store; inline plaintext is auto-sealed on install
interface: lanplus # lan for an IPMI 1.5 BMC
sensors:
include_types: [Temperature, Fan]
exclude_names: ["^PSU2.*"]
Metrics¶
| Metric | Unit | Description |
|---|---|---|
hardware.temperature |
Cel | Temperature per BMC sensor, tagged with hardware.component |
hardware.fan.speed |
RPM | Fan speed per sensor |
hardware.voltage |
V | Voltage per sensor |
hw.power |
W | Power per sensor (a supply, or the machine's consumption) |
senhub.hardware.current |
A | Current per sensor, typically per power supply |
hw.status |
# | Sensor status: 1 = ok or non-critical, 0 = critical or non-recoverable |
Operational notes¶
- The agent must run as
rooton Linux foripmitoolto access the/dev/ipmi0device. - Load the OpenIPMI driver before starting the agent:
modprobe ipmi_si && modprobe ipmi_devintf. - Sensor names (the
hardware.componenttag) come directly fromipmitool sdroutput and vary by hardware vendor. - Sensors that share a name (Dell calls every CPU temperature
Temp) are told apart by their IPMI entity:Temp (CPU 1),Temp (CPU 2). These series also carry thehardware.entityandhardware.sensor_numbertags. A sensor whose name is unique keeps it unchanged. - A power supply reports 1 when present and redundant, 0 on a critical status, "Redundancy Lost" or a failure; an absent supply ("Device Absent") emits nothing.
Metric reference¶
Every metric this probe can emit. Metric is the OpenTelemetry name the
OTLP, Prometheus and Zabbix outputs derive theirs from. Name is what a
Nagios check and the API metrics= filter match.
PRTG channel is the label PRTG shows, placeholders filled from the
series' tags.
| Metric | Name | PRTG channel | Unit | Description |
|---|---|---|---|---|
hw.temperature |
hardware.temperature |
Temp | Degrees Celsius | Temperature reported by the BMC sensor (degrees Celsius) |
hw.fan.speed |
hardware.fan.speed |
Fan Speed | RPM | Fan speed in rotations per minute as reported by the BMC |
hw.voltage |
hardware.voltage |
Voltage | Volts | Voltage reported by the BMC sensor (volts) |
hw.power |
hardware.power |
Power | Watts | Power reported by the BMC sensor (watts): a supply's output or input, or the machine's consumption |
senhub.hardware.current |
senhub.hardware.current |
Current | Amps | Current reported by the BMC sensor (amperes), typically per power supply |
hw.status |
hardware.power_supply.status |
PSU Status | # | Power supply status: 1 = ok (present, redundant, or a healthy reading), 0 = fault (critical status, redundancy lost or degraded). An absent supply or one the BMC has no reading for emits no value |
hw.status |
hardware.sensor.status |
Sensor | # | Generic BMC sensor status: 1 = ok or non-critical, 0 = critical or non-recoverable. A sensor with no reading (ns) emits no value |
senhub.ipmi.up |
senhub.ipmi.up |
IPMI Reachable | # | 1 when ipmitool ran successfully and the BMC responded, 0 otherwise |