IPMI Sensor Monitoring
Use This InfluxDB Integration for FreeIPMI 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)
- tags:
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)
- tags: