IPMI is an open-standard hardware management interface specification that defines a specific way for embedded management subsystems to communicate. IPMI information is exchanged through baseboard management controllers (BMCs), which are located on IPMI-compliant hardware components. Using low-level hardware intelligence instead of the operating system has two main benefits: first, this configuration allows for out-of-band server management, and second, the operating system is not burdened with transporting system status data.

Why use the IPMI Sensor Telegraf Plugin?

Simply put, Sensor data is time series data, and collecting your IPMI-based sensor data using the IPMI Sensor Telegraf Plugin to store your base metal metrics using the ipmitool command line utility into a time series database like InfluxDB just makes sense. With Telegraf, you can collect your sensor data and enrich, filter, or aggregate (derivative, min/max, counter, etc) your data before you send it over to InfluxDB. In addition, since Telegraf also supports a whole host of other sensor data formats like OPCUA, Modbus, MQTT and the like, you can use InfluxDB as the store for all of your Sensor data. Once the data is in InfluxDB, you can do all kinds of analysis to get deep insights into your collection of sensors.

How to collect your sensor data using the IPMI Sensor Telegraf Plugin

Using the IPMI Sensor Telegraf Plugin and the ipmitool utility, with no servers specified, you can query the local machine sensor stats with the following command:

  • For schema version one use ipmitool sdr
  • For schema version two use ipmitool sdr elist

When one or more servers are specified, the plugin will use the following command to collect remote host sensor stats:

ipmitool -I lan -H SERVER -U USERID -P PASSW0RD sdr

Any of the following parameters will be added to the aforementioned query if they're configured:

-y hex_key -L privilege

Key IPMI Sensor Metrics to use for monitoring

There are two different sets of schema to collect metrics using the IPMI utility:

Version 1 schema:
  • ipmi_sensor:
    • tags:
      • name
      • unit
      • host
      • server (only when retrieving stats from remote servers)
    • fields:
      • status (int, 1=ok status_code/0=anything else)
      • value (float)
Version 2 schema:
  • ipmi_sensor:
    • tags:
      • name
      • entity_id (can help uniquify duplicate names)
      • status_code (two letter code from IPMI documentation)
      • status_desc (extended status description field)
      • unit (only on analog values)
      • host
      • server (only when retrieving stats from remote)
    • fields:
      • value (float)

For more information, please check out the documentation.

Project URL   Documentation

Related Resources

Sensors Telegraf Input Plugin

The Sensor Telegraf Plugin can help you collect sensor metrics with any sensor executable from the Linux-monitoring (lm-sensor) package.

Apache Kafka Consumer Telegraf Plugin

Learn how the Kafka Consumer Telegraf Plugin polls a specified Kafka topic and adds messages to InfluxDB.

Fibaro Telegraf Plugin

The Fibaro Input Plugin makes HTTP calls to the Fibaro controller API.

Scroll to Top