You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
309 lines
14 KiB
309 lines
14 KiB
zabbix_export:
|
|
version: '7.0'
|
|
template_groups:
|
|
- uuid: e960332b3f6c46a1956486d4f3f99fce
|
|
name: 'Templates/Server hardware'
|
|
templates:
|
|
- uuid: 02f35169a5a54a5aad8b3f06e798ab1f
|
|
template: 'Chassis by IPMI'
|
|
name: 'Chassis by IPMI'
|
|
description: |
|
|
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.
|
|
|
|
|
|
Known Issues:
|
|
|
|
Description: If the BMC has a sensor with an empty threshold value, we get the LLD error "Cannot create trigger...".
|
|
|
|
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/398023-discussion-thread-for-official-zabbix-template-ipmi
|
|
|
|
Generated by official Zabbix template tool "Templator" 2.0.0
|
|
vendor:
|
|
name: Zabbix
|
|
version: 7.0-0
|
|
groups:
|
|
- name: 'Templates/Server hardware'
|
|
items:
|
|
- uuid: dbcf45cb09284fc19a17e7369c8fda43
|
|
name: 'IPMI: Get IPMI sensors'
|
|
type: IPMI
|
|
key: ipmi.get
|
|
history: '0'
|
|
trends: '0'
|
|
value_type: TEXT
|
|
description: 'The master item that receives all sensors with values for LLD and dependent elements from BMC.'
|
|
tags:
|
|
- tag: component
|
|
value: raw
|
|
discovery_rules:
|
|
- uuid: d0a3bd3c62d7438d8acde8ff0a9bb4db
|
|
name: 'Discrete sensors discovery'
|
|
type: DEPENDENT
|
|
key: ipmi.discrete.discovery
|
|
delay: '0'
|
|
filter:
|
|
evaltype: AND
|
|
conditions:
|
|
- macro: '{#SENSOR_READING_TYPE}'
|
|
value: threshold
|
|
operator: NOT_MATCHES_REGEX
|
|
formulaid: A
|
|
- macro: '{#SENSOR_TYPE}'
|
|
value: '{$IPMI.SENSOR_TYPE.MATCHES}'
|
|
formulaid: B
|
|
- macro: '{#SENSOR_TYPE}'
|
|
value: '{$IPMI.SENSOR_TYPE.NOT_MATCHES}'
|
|
operator: NOT_MATCHES_REGEX
|
|
formulaid: C
|
|
description: 'Discovery of the discrete IPMI sensors.'
|
|
item_prototypes:
|
|
- uuid: 6ce86fa51c614f94b2250e14af8d9385
|
|
name: 'IPMI: {#SENSOR_ID}'
|
|
type: DEPENDENT
|
|
key: 'ipmi.state_text[{#SENSOR_ID}]'
|
|
delay: '0'
|
|
history: 7d
|
|
trends: '0'
|
|
value_type: CHAR
|
|
description: 'It is a state of the discrete IPMI sensor.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$.[?(@.id==''{#SENSOR_ID}'')].state.text.first()'
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 1d
|
|
master_item:
|
|
key: ipmi.get
|
|
tags:
|
|
- tag: component
|
|
value: environment
|
|
- tag: sensor
|
|
value: '{#SENSOR_TYPE}'
|
|
trigger_prototypes:
|
|
- uuid: efe107571d704895bbb43c95407e6689
|
|
expression: 'last(/Chassis by IPMI/ipmi.state_text[{#SENSOR_ID}],#1)<>last(/Chassis by IPMI/ipmi.state_text[{#SENSOR_ID}],#2)'
|
|
name: 'IPMI: {#SENSOR_ID} value has changed'
|
|
priority: INFO
|
|
description: 'The trigger is informing about changes in a state of the discrete IPMI sensor. A problem generated by this trigger can be manually closed.'
|
|
manual_close: 'YES'
|
|
tags:
|
|
- tag: scope
|
|
value: availability
|
|
master_item:
|
|
key: ipmi.get
|
|
lld_macro_paths:
|
|
- lld_macro: '{#SENSOR_ID}'
|
|
path: $.id
|
|
- lld_macro: '{#SENSOR_READING_TYPE}'
|
|
path: $.reading.text
|
|
- lld_macro: '{#SENSOR_TYPE}'
|
|
path: $.sensor.text
|
|
- lld_macro: '{#SENSOR_UNIT}'
|
|
path: $.units
|
|
- uuid: bd5ceb5412d3462d90fa857b2d214788
|
|
name: 'Threshold sensors discovery'
|
|
type: DEPENDENT
|
|
key: ipmi.sensors.discovery
|
|
delay: '0'
|
|
filter:
|
|
evaltype: AND
|
|
conditions:
|
|
- macro: '{#SENSOR_READING_TYPE}'
|
|
value: threshold
|
|
formulaid: A
|
|
- macro: '{#SENSOR_TYPE}'
|
|
value: '{$IPMI.SENSOR_TYPE.MATCHES}'
|
|
formulaid: B
|
|
- macro: '{#SENSOR_TYPE}'
|
|
value: '{$IPMI.SENSOR_TYPE.NOT_MATCHES}'
|
|
operator: NOT_MATCHES_REGEX
|
|
formulaid: C
|
|
description: 'Discovery of the threshold IPMI sensors.'
|
|
item_prototypes:
|
|
- uuid: 77e8c8c6e2444667b5da698c802dbae0
|
|
name: 'IPMI: {#SENSOR_ID}, {#SENSOR_UNIT}'
|
|
type: DEPENDENT
|
|
key: 'ipmi.value[{#SENSOR_ID}]'
|
|
delay: '0'
|
|
history: 7d
|
|
value_type: FLOAT
|
|
description: 'It is a state of the threshold IPMI sensor.'
|
|
preprocessing:
|
|
- type: JSONPATH
|
|
parameters:
|
|
- '$.[?(@.id==''{#SENSOR_ID}'')].value.first()'
|
|
- type: DISCARD_UNCHANGED_HEARTBEAT
|
|
parameters:
|
|
- 1h
|
|
master_item:
|
|
key: ipmi.get
|
|
tags:
|
|
- tag: component
|
|
value: environment
|
|
- tag: sensor
|
|
value: '{#SENSOR_TYPE}'
|
|
trigger_prototypes:
|
|
- uuid: e9c37c1847d64920b80a20cc764b6c81
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_CRIT}'
|
|
name: 'IPMI: {#SENSOR_ID} value is above critical high'
|
|
event_name: 'IPMI: {#SENSOR_ID} value is above critical high (greater than {#SENSOR_HI_CRIT} for 5m)'
|
|
priority: HIGH
|
|
description: 'The trigger is informing that a value higher than the upper critical threshold has been reached.'
|
|
dependencies:
|
|
- name: 'IPMI: {#SENSOR_ID} value is above non-recoverable high'
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_DISAST}'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
- uuid: 0fc9d9baa3dd4d3db841e2153b6c39b2
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_WARN}'
|
|
name: 'IPMI: {#SENSOR_ID} value is above non-critical high'
|
|
event_name: 'IPMI: {#SENSOR_ID} value is above non-critical high (greater than {#SENSOR_HI_WARN} for 5m)'
|
|
priority: WARNING
|
|
description: 'The trigger is informing that a value higher than the upper non-critical threshold has been reached.'
|
|
dependencies:
|
|
- name: 'IPMI: {#SENSOR_ID} value is above critical high'
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_CRIT}'
|
|
- name: 'IPMI: {#SENSOR_ID} value is above non-recoverable high'
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_DISAST}'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
- uuid: 2c3dbc3f68db44f1924682a8241e0086
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)>{#SENSOR_HI_DISAST}'
|
|
name: 'IPMI: {#SENSOR_ID} value is above non-recoverable high'
|
|
event_name: 'IPMI: {#SENSOR_ID} value is above non-recoverable high (greater than {#SENSOR_HI_DISAST} for 5m)'
|
|
priority: DISASTER
|
|
description: 'The trigger is informing that a value higher than the upper non-recoverable threshold has been reached.'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
- uuid: adbb7e20a46d42329e4744548aa9d5f6
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_CRIT}'
|
|
name: 'IPMI: {#SENSOR_ID} value is below critical low'
|
|
event_name: 'IPMI: {#SENSOR_ID} value is below critical low (less than {#SENSOR_LO_CRIT} for 5m)'
|
|
priority: HIGH
|
|
description: 'The trigger is informing that a value less than the lower critical threshold has been reached.'
|
|
dependencies:
|
|
- name: 'IPMI: {#SENSOR_ID} value is below non-recoverable low'
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_DISAST}'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
- uuid: 7b712e7b11a34635948517467f77ad9d
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_WARN}'
|
|
name: 'IPMI: {#SENSOR_ID} value is below non-critical low'
|
|
event_name: 'IPMI: {#SENSOR_ID} value is below non-critical low (less than {#SENSOR_LO_WARN} for 5m)'
|
|
priority: WARNING
|
|
description: 'The trigger is informing that a value less than the lower non-critical threshold has been reached.'
|
|
dependencies:
|
|
- name: 'IPMI: {#SENSOR_ID} value is below critical low'
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_CRIT}'
|
|
- name: 'IPMI: {#SENSOR_ID} value is below non-recoverable low'
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_DISAST}'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
- uuid: b078ee6b820f44f2871c2e3fcd0ce4cf
|
|
expression: 'min(/Chassis by IPMI/ipmi.value[{#SENSOR_ID}],5m)<{#SENSOR_LO_DISAST}'
|
|
name: 'IPMI: {#SENSOR_ID} value is below non-recoverable low'
|
|
event_name: 'IPMI: {#SENSOR_ID} value is below non-recoverable low (less than {#SENSOR_LO_DISAST} for 5m)'
|
|
priority: DISASTER
|
|
description: 'The trigger is informing that a value less than the lower non-recoverable threshold has been reached.'
|
|
tags:
|
|
- tag: scope
|
|
value: notice
|
|
graph_prototypes:
|
|
- uuid: 85099badf8d547d89f498cf29bcd51a8
|
|
name: 'IPMI: {#SENSOR_ID}'
|
|
graph_items:
|
|
- color: 199C0D
|
|
item:
|
|
host: 'Chassis by IPMI'
|
|
key: 'ipmi.value[{#SENSOR_ID}]'
|
|
master_item:
|
|
key: ipmi.get
|
|
lld_macro_paths:
|
|
- lld_macro: '{#SENSOR_ID}'
|
|
path: $.id
|
|
- lld_macro: '{#SENSOR_READING_TYPE}'
|
|
path: $.reading.text
|
|
- lld_macro: '{#SENSOR_TYPE}'
|
|
path: $.sensor.text
|
|
- lld_macro: '{#SENSOR_UNIT}'
|
|
path: $.units
|
|
- lld_macro: '{#SENSOR_LO_WARN}'
|
|
path: $.threshold.lower.non_crit
|
|
- lld_macro: '{#SENSOR_LO_CRIT}'
|
|
path: $.threshold.lower.crit
|
|
- lld_macro: '{#SENSOR_LO_DISAST}'
|
|
path: $.threshold.lower.non_recover
|
|
- lld_macro: '{#SENSOR_HI_WARN}'
|
|
path: $.threshold.upper.non_crit
|
|
- lld_macro: '{#SENSOR_HI_CRIT}'
|
|
path: $.threshold.upper.crit
|
|
- lld_macro: '{#SENSOR_HI_DISAST}'
|
|
path: $.threshold.upper.non_recover
|
|
overrides:
|
|
- name: 'trigger SENSOR_LO_WARN'
|
|
step: '1'
|
|
operations:
|
|
- operationobject: TRIGGER_PROTOTYPE
|
|
operator: LIKE
|
|
value: '{#SENSOR_LO_WARN}'
|
|
discover: NO_DISCOVER
|
|
- name: 'trigger SENSOR_LO_CRIT'
|
|
step: '2'
|
|
operations:
|
|
- operationobject: TRIGGER_PROTOTYPE
|
|
operator: LIKE
|
|
value: '{#SENSOR_LO_CRIT}'
|
|
discover: NO_DISCOVER
|
|
- name: 'trigger SENSOR_LO_DISAST'
|
|
step: '3'
|
|
operations:
|
|
- operationobject: TRIGGER_PROTOTYPE
|
|
operator: LIKE
|
|
value: '{#SENSOR_LO_DISAST}'
|
|
discover: NO_DISCOVER
|
|
- name: 'trigger SENSOR_HI_WARN'
|
|
step: '4'
|
|
operations:
|
|
- operationobject: TRIGGER_PROTOTYPE
|
|
operator: LIKE
|
|
value: '{#SENSOR_HI_WARN}'
|
|
discover: NO_DISCOVER
|
|
- name: 'trigger SENSOR_HI_CRIT'
|
|
step: '5'
|
|
operations:
|
|
- operationobject: TRIGGER_PROTOTYPE
|
|
operator: LIKE
|
|
value: '{#SENSOR_HI_CRIT}'
|
|
discover: NO_DISCOVER
|
|
- name: 'trigger SENSOR_HI_DISAST'
|
|
step: '6'
|
|
operations:
|
|
- operationobject: TRIGGER_PROTOTYPE
|
|
operator: LIKE
|
|
value: '{#SENSOR_HI_DISAST}'
|
|
discover: NO_DISCOVER
|
|
tags:
|
|
- tag: class
|
|
value: hardware
|
|
- tag: target
|
|
value: server
|
|
macros:
|
|
- macro: '{$IPMI.PASSWORD}'
|
|
description: 'This macro is used for access to BMC. It can be overridden on the host or linked template level.'
|
|
- macro: '{$IPMI.SENSOR_TYPE.MATCHES}'
|
|
value: '.*'
|
|
description: 'This macro is used in sensors discovery. It can be overridden on the host or linked template level.'
|
|
- macro: '{$IPMI.SENSOR_TYPE.NOT_MATCHES}'
|
|
value: invalid
|
|
description: 'This macro is used in sensors discovery. It can be overridden on the host or linked template level.'
|
|
- macro: '{$IPMI.USER}'
|
|
description: 'This macro is used for access to BMC. It can be overridden on the host or linked template level.'
|