IPMI

The Intelligent Platform Management Interface is a set of computer interface specifications for an autonomous computer subsystem that provides management and monitoring capabilities independently of the host systemr´s CPU, firmware and operating system.

Available solutions




Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/server/chassis_ipmi


Template Server Chassis by IPMI

Overview

For Zabbix version: 5.0
Template for monitoring servers with BMC over IPMI that work without any external scripts.
All metrics are collected at once, thanks to Zabbix's bulk data collection. The template is available starting from Zabbix version 5.0.
It collects metrics by polling BMC remotely using an IPMI agent.

This template was tested on:

  • Zabbix, version 5.0

Setup

You can set {$IPMI.USER} and {$IPMI.PASSWORD} macros in the template for using on the host level.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Name Description Default
{$IPMI.PASSWORD}

This macro is used for access to BMC. It can be overridden on the host or linked template level.

``
{$IPMI.SENSOR_TYPE.MATCHES}

This macro is used in sensors discovery. It can be overridden on the host or linked template level.

.*
{$IPMI.SENSOR_TYPE.NOT_MATCHES}

This macro is used in sensors discovery. It can be overridden on the host or linked template level.

invalid
{$IPMI.USER}

This macro is used for access to BMC. It can be overridden on the host or linked template level.

``

Template links

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Discrete sensors discovery

Discovery of the discrete IPMI sensors.

DEPENDENT ipmi.discrete.discovery

Filter:

AND

- A: {#SENSOR_READING_TYPE} NOT_MATCHES_REGEX threshold

- B: {#SENSOR_TYPE} MATCHES_REGEX {$IPMI.SENSOR_TYPE.MATCHES}

- C: {#SENSOR_TYPE} NOT_MATCHES_REGEX {$IPMI.SENSOR_TYPE.NOT_MATCHES}

Threshold sensors discovery

Discovery of the threshold IPMI sensors.

DEPENDENT ipmi.sensors.discovery

Filter:

AND

- A: {#SENSOR_READING_TYPE} MATCHES_REGEX threshold

- B: {#SENSOR_TYPE} MATCHES_REGEX {$IPMI.SENSOR_TYPE.MATCHES}

- C: {#SENSOR_TYPE} NOT_MATCHES_REGEX {$IPMI.SENSOR_TYPE.NOT_MATCHES}

Items collected

Group Name Description Type Key and additional info
General IPMI: {#SENSOR_ID}

It is a state of the discrete IPMI sensor.

DEPENDENT ipmi.state_text[{#SENSOR_ID}]

Preprocessing:

- JSONPATH: $.[?(@.id=='{#SENSOR_ID}')].state.text.first()

- DISCARD_UNCHANGED_HEARTBEAT: 1d

General IPMI: {#SENSOR_ID}, {#SENSOR_UNIT}

It is a state of the threshold IPMI sensor.

DEPENDENT ipmi.value[{#SENSOR_ID}]

Preprocessing:

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

- DISCARD_UNCHANGED_HEARTBEAT: 1h

Zabbix_raw_items Get IPMI sensors

The master item that receives all sensors with values for LLD and dependent elements from BMC.

IPMI ipmi.get

Triggers

Name Description Expression Severity Dependencies and additional info
IPMI: {#SENSOR_ID} value has changed

The trigger is informing about changes in a state of the discrete IPMI sensor. A problem generated by this trigger can be manually closed.

{TEMPLATE_NAME:ipmi.state_text[{#SENSOR_ID}].diff()}=1 INFO

Manual close: YES

IPMI: {#SENSOR_ID} value is below non-critical low (less than {#SENSOR_LO_WARN} for 5m)

The trigger is informing that a value less than the lower non-critical threshold has been reached.

{TEMPLATE_NAME:ipmi.value[{#SENSOR_ID}].min(5m)}<{#SENSOR_LO_WARN} WARNING

Depends on:

- IPMI: {#SENSOR_ID} value is below critical low (less than {#SENSOR_LO_CRIT} for 5m)

- IPMI: {#SENSOR_ID} value is below non-recoverable low (less than {#SENSOR_LO_DISAST} for 5m)

IPMI: {#SENSOR_ID} value is below critical low (less than {#SENSOR_LO_CRIT} for 5m)

The trigger is informing that a value less than the lower critical threshold has been reached.

{TEMPLATE_NAME:ipmi.value[{#SENSOR_ID}].min(5m)}<{#SENSOR_LO_CRIT} HIGH

Depends on:

- IPMI: {#SENSOR_ID} value is below non-recoverable low (less than {#SENSOR_LO_DISAST} for 5m)

IPMI: {#SENSOR_ID} value is below non-recoverable low (less than {#SENSOR_LO_DISAST} for 5m)

The trigger is informing that a value less than the lower non-recoverable threshold has been reached.

{TEMPLATE_NAME:ipmi.value[{#SENSOR_ID}].min(5m)}<{#SENSOR_LO_DISAST} DISASTER
IPMI: {#SENSOR_ID} value is above non-critical high (greater than {#SENSOR_HI_WARN} for 5m)

The trigger is informing that a value higher than the upper non-critical threshold has been reached.

{TEMPLATE_NAME:ipmi.value[{#SENSOR_ID}].min(5m)}>{#SENSOR_HI_WARN} WARNING

Depends on:

- IPMI: {#SENSOR_ID} value is above critical high (greater than {#SENSOR_HI_CRIT} for 5m)

- IPMI: {#SENSOR_ID} value is above non-recoverable high (greater than {#SENSOR_HI_DISAST} for 5m)

IPMI: {#SENSOR_ID} value is above critical high (greater than {#SENSOR_HI_CRIT} for 5m)

The trigger is informing that a value higher than the upper critical threshold has been reached.

{TEMPLATE_NAME:ipmi.value[{#SENSOR_ID}].min(5m)}>{#SENSOR_HI_CRIT} HIGH

Depends on:

- IPMI: {#SENSOR_ID} value is above non-recoverable high (greater than {#SENSOR_HI_DISAST} for 5m)

IPMI: {#SENSOR_ID} value is above non-recoverable high (greater than {#SENSOR_HI_DISAST} for 5m)

The trigger is informing that a value higher than the upper non-recoverable threshold has been reached.

{TEMPLATE_NAME:ipmi.value[{#SENSOR_ID}].min(5m)}>{#SENSOR_HI_DISAST} DISASTER

Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.

Known Issues

  • Description: If the BMC has a sensor with an empty threshold value, we get the LLD error "Cannot create trigger...".

References

https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html
https://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/ipmi

Add your solution