6 Discovery of IPMI sensors

Overview

It is possible to automatically discover IPMI sensors.

To do that, you may use a combination of:

  • the ipmi.get IPMI item (supported since Zabbix 5.0.0) as the master item
  • dependent low-level discovery rule and item prototypes

Configuration

Master item

Create an IPMI item using the following key:

ipmi.get

Set the type of information to "Text" for possibly big JSON data.

Dependent LLD rule

Create a low-level discovery rule as "Dependent item" type:

As master item select the ipmi.get item we created.

In the "LLD macros" tab define a custom macro with the corresponding JSONPath:

Dependent item prototype

Create an item prototype with "Dependent item" type in this LLD rule. As master item for this prototype select the ipmi.get item we created.

Note the use of the {#SENSOR_ID} macro in the item prototype name and key:

  • Name: IPMI value for sensor {#SENSOR_ID}
  • Key: ipmi_sensor[{#SENSOR_ID}]

As type of information, Numeric (unsigned).

In the item prototype "Preprocessing" tab select JSONPath and use the following JSONPath expression as parameter:

$.[?(@.id=='{#SENSOR_ID}')].value.first()

When discovery starts, one item per each IPMI sensor will be created. This item will return the integer value of the given sensor.