Найти тему

[#Zabbix] Гистерезис для триггеров

Zabbix: Гистерезис для триггеров

Суть правил заключается в том, что проблемы закрываются по параметрам более требовательным, чем при срабатывании.

Задача, которую решает правило:
Выход из проблемы не равно решению проблемы.

На примере места на диске C сделал показательное тестирование.
В макросе прописано, чтобы проблемы восстановятся только если процент занятого места меньше 90%
А срабатывают при
92% - Warning
97% - Hight
99% - Disaster

Таким образом, при переполнении диска более чем на 97% ,
Могло освободиться всего 100Мб. Ранее триггер бы перешел в состояние «Решено», а всем админам пришло уведомление о том, что все ОК.
Но на самом деле, проблема полностью не решена, и в любой момент сервис может остановиться и перейти в состояние Disaster!

Поэтому необходимо освободить гораздо большее кол-во свободного места, чтобы закрыть все триггеры.

Процентовка выведена в макросы и может быть изменена в любой момент.

Пример использования:

Меняем стандартный прототип триггера "Disk space is critically low" из шаблона Windows by Zabbix agent

Срабатывание:
Должны совпадать два условия: во-первых, использование пространства должно быть выше {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}.
  Второе условие должно быть одним из следующих:
  - Свободное место на диске меньше {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}
  - Диск будет заполнен менее чем за 24 часа.
Восстановление:
Должны совпадать два условия: во-первых, использование пространства должно быть меньше {$VFS.FS.PUSED.REST:"{#FSNAME}"}.
  Второе условие должно быть одним из следующих:
  - Свободное место на диске больше {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}.
  - Диск будет заполнен более чем за 24 часа.

-2

Макросы используемые в триггере:

Имя макроса Значение Описание

{$VFS.FS.PUSED.MAX.CRIT} 97 Процент свободного места для срабатывания триггера

{$VFS.FS.PUSED.REST} 90 Процент свободного места для восстановления триггера

{$VFS.FS.FREE.MIN.CRIT} 5G Критический порог использования файловой системы в Гб.

Код триггера:

```trigger_prototypes:
- uuid: d3e99134a1d04894918f2c92ff38cb92
expression: |
last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused])>{$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}
and
(
(last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},total])-last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},used]))<{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}
or
timeleft(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],1h,100)<1d
)
recovery_mode: RECOVERY_EXPRESSION
recovery_expression: |
last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused])<{$VFS.FS.PUSED.REST:"{#FSNAME}"}
and
(
(last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},total])-last(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},used]))>{$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}
or
timeleft(/Windows by Zabbix agent/vfs.fs.dependent.size[{#FSNAME},pused],1h,100)>1d
)
name: '{#FSLABEL}({#FSNAME}): Disk space is critically low'
event_name: '({#FSNAME}):  Критически мало места на диске ({ITEM.LASTVALUE1} > {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}%)'
opdata: 'Используемое: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})'
priority: DISASTER
description: |
Срабатывание:
Должны совпадать два условия: во-первых, использование пространства должно быть выше {$VFS.FS.PUSED.MAX.CRIT:"{#FSNAME}"}.
Второе условие должно быть одним из следующих:
- Свободное место на диске меньше {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}
- Диск будет заполнен менее чем за 24 часа.
Восстановление:
Должны совпадать два условия: во-первых, использование пространства должно быть меньше {$VFS.FS.PUSED.REST:"{#FSNAME}"}.
Второе условие должно быть одним из следующих:
- Свободное место на диске больше {$VFS.FS.FREE.MIN.CRIT:"{#FSNAME}"}.
- Диск будет заполнен более чем за 24 часа.
manual_close: 'YES'
tags:
- tag: scope
value: capacity```