ZABBIX. Частое срабатывание триггера. Функция COUNT.
ВЕБ-мониторинг в ZABBIX работает хорошо, триггеров довольно много. Но если сам ВЕБ-сервис подвисает, то ZABBIX начинает добросовестно слать оповещения, т.е. в данном случае спам. Справился с этой проблемой … нет, не переустановкой сервиса (нельзя его просто пока трогать) а настройкой чувствительности триггера. Хотя можно просто отредактировать времени ожидания шага сценария: Настройка — Веб — выбор сценария — шаги время ожидания. Но этот вариант мне как-то не пришелся по душе. Я изменил условие триггера таким образом, что он срабатывает лишь если проверка доступности сайта два раз подряд завершится неудачно.
При стандартном создании триггера создается следующее выражение: web.test.fail[имя сервиса].last(0)}#0. Т.е. если проверка доступности сервиса возвращает не 0 (а 0 — это норма) то триггер срабатывает. Вместо last(0)}#0 поставим count(#2,1)}=2. Теперь триггер работает следующим образом: Количество последних 2 значений равно «1», т.е. если проверка доступности сайта два раз подряд завершится неудачно, триггер срабатывает.
Количество собранных значений за период. Период задается первым параметром в секундах или количеством значений (после символа # решетки). Функция принимает второй опциональный параметр шаблон, третий параметр оператор и четвертый параметр сдвиг_времени. Для шаблон: Элементы данных с типом целочисленный — точное совпадение; Элементы данных с типом с плавающей запятой — совпадение с точностью до 0.000001 Поддерживаемые операторы *: eq — равно ne — не равно gt — больше ge — больше или равно lt — меньше le — меньше или равно like (только текстовый поиск) — совпадают, если содержат шаблон. *Для целочисленных и элементов данных с плавающей точкой: поддерживаются операторы eq (по умолчанию), ne, gt, ge, lt, le. *Для элементов данных строки, текста и журнала: поддерживаются операторы like (по умолчанию), eq, ne. Примеры: count(600) — количество значений за последние 10 минут count(600,12) — количество значений за последние 10 минут, которые равны ’12’ count(600,12,»gt») — количество значений за последние 10 минут, которые больше ’12’ count(#10,12,”gt”) — количество значений за последние 10 значений, которые больше ’12’ count(600,12,»gt»,86400) — количество значений обработанных за 10 минут 24 часа назад, которые больше ’12’ count(600,,,86400) — количество значений обработанных за 10 минут 24 часа назад Параметр #num поддерживается Zabbix начиная с версии Zabbix 1.6.1. Параметр сдвиг_времени и строковые операторы поддерживаются Zabbix начиная с версии 1.8.2. Смотрите функцию avg() в качестве примера по использованию сдвига_времени. |
спасибо, поменяй
count(600,12,"gt") — количество значений за последние 10 минут, которые равны '12'
на
count(600,12,"gt") — количество значений за последние 10 минут, которые БОЛЬШЕ '12'