7 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:

  1. ipmi.get

7 Discovery of IPMI sensors - 图1

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:

7 Discovery of IPMI sensors - 图2

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

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

7 Discovery of IPMI sensors - 图3

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.

7 Discovery of IPMI sensors - 图4

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:

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

7 Discovery of IPMI sensors - 图5

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