![](https://habrastorage.org/webt/np/jy/az/npjyaz242dc1dgriuf_eckr88c4.jpeg)
Совсем недавно я познакомился с zabbix и спешу поделиться с сообществом своими наработками. Наработок пока две, эта и вторая про низкоуровневое обнаружение сервисов, таких как zabbix, mysql, postgress и вообще любых сервисов, там будет работа с API zabbix, скрипт на Python и немного Bash.
Я конечно и раньше с ним был знаком, но не так близко.
А теперь по делу:
Вся хитрость заключается в добавлении в выражении триггера дополнительного условия которое будет сверять время срабатывания триггера с временем заданным с бездействием триггера.
Описание срабатывания триггера с новым условием
{выполнилось условие срабатывания триггера}
И
(
{текущее время} МЕНЬШЕ {начального времени отключения триггера}
ИЛИ
{текущее время} БОЛЬШЕ {конечного времени отключения триггера
)
Само выражение и скриншот:![](https://habrastorage.org/r/w1560/webt/yx/i8/rm/yxi8rms-i8drcykvtwxpjcsewka.png)
![](https://habrastorage.org/webt/yx/i8/rm/yxi8rms-i8drcykvtwxpjcsewka.png)
{Iostat-Disk-Utilization-Template:iostat.metric[{#HARDDISK},util].avg({$TIME_DISK_HIGH})}>{$RATE_DISK_HIGH} and ({Iostat-Disk-Utilization-Template:iostat.metric[{#HARDDISK},util].time()}<{$DISABLED_TIME_START} or {Iostat-Disk-Utilization-Template:iostat.metric[{#HARDDISK},util].time()}>{$DISABLED_TIME_STOP})
Описание макросов![](https://habrastorage.org/r/w1560/webt/l0/5d/zp/l05dzp1cxoz7esy4ef16yvrkbpi.png)
Для гибкой настройки параметров срабатывания триггеров утилизации дисков я добавил четыре макроса:
И два макроса для отключения триггера:
![](https://habrastorage.org/webt/l0/5d/zp/l05dzp1cxoz7esy4ef16yvrkbpi.png)
Для гибкой настройки параметров срабатывания триггеров утилизации дисков я добавил четыре макроса:
{$TIME_DISK_HIGH} - максимальная продолжительность нагрузки диска для алерта "Высокая нагрузка"
{$RATE_DISK_HIGH} - максимальный процент нагрузки диска для алерта "Высокая нагрузка"
{$RATE_DISK__WARNING} - максимальный процент нагрузки диска для алерта "Средняя нагрузка"
{$TIME_DISK_WARNING} - максимальная продолжительность нагрузки диска для алерта "Средняя нагрузка"
И два макроса для отключения триггера:
{$DISABLED_TIME_START} - Начальное время бездействия триггера
{$DISABLED_TIME_STOP} - Конечное время бездействия триггера
В шаблоне, в макросах, необходимо задать параметры высокой и средней нагрузки на диски, а так-же начальное и конечное время бездействия триггера по умолчанию.
А на клиентах отредактировать эти шаблоны для индивидуальной настройки.
Для изменения макросов на клиентах необходимо открыть:
«Макросы узла сети и унаследованные» и напротив нужного макроса нажать кнопку изменить, после изменения макрос появится на вкладке «Макросы узла сети».
![](https://habrastorage.org/r/w1560/webt/ti/g8/9k/tig89ksvcrjrrdw9ka-k7qrjjys.png)
«Макросы узла сети и унаследованные» и напротив нужного макроса нажать кнопку изменить, после изменения макрос появится на вкладке «Макросы узла сети».
![](https://habrastorage.org/webt/ti/g8/9k/tig89ksvcrjrrdw9ka-k7qrjjys.png)
По умолчанию время начала бездействия триггера задано как 000000 и конечное время как 000001. То есть триггер будет бездействовать ровно одну секунду с 00 часов, 00 минут и 00 секунд до 00 часов, 00 минут и 01 секунд.
Оригинальный шаблон для переделок
И готовый шаблон
P.S.
В ходе экспериментов выяснилось, что если пытаться каким-то образом сократить время бездействия триггера, например в выражении триггера использовать <= и >= или указывать время равным началу и концу, то триггер либо не срабатывает вообще или не работает время отключения.