ZABBIX. Частое срабатывание триггера. Функция COUNT.

ВЕБ-мониторинг в ZABBIX работает хорошо, триггеров довольно много. Но если сам ВЕБ-сервис подвисает, то ZABBIX начинает добросовестно слать оповещения, т.е. в данном случае спам. Справился с этой проблемой … нет, не переустановкой сервиса (нельзя его просто пока трогать) а настройкой чувствительности триггера. Хотя можно просто отредактировать времени ожидания шага сценария: Настройка — Веб — выбор сценария — шаги время ожидания. Но этот вариант мне как-то не пришелся по душе. Я изменил условие триггера таким образом, что он срабатывает лишь если проверка доступности сайта два раз подряд завершится неудачно.
При стандартном создании триггера создается следующее выражение: web.test.fail[имя сервиса].last(0)}#0. Т.е. если проверка доступности сервиса возвращает не 0 (а 0 — это норма) то триггер срабатывает. Вместо last(0)}#0 поставим count(#2,1)}=2. Теперь триггер работает следующим образом: Количество последних 2 значений равно «1», т.е. если проверка доступности сайта два раз подряд завершится неудачно, триггер срабатывает.

Значения функции COUNT:
Количество собранных значений за период. Период задается первым параметром в секундах или количеством значений (после символа # решетки).
Функция принимает второй опциональный параметр шаблон, третий параметр оператор и четвертый параметр сдвиг_времени.
Для шаблон:
Элементы данных с типом целочисленный — точное совпадение;
Элементы данных с типом с плавающей запятой — совпадение с точностью до 0.000001
Поддерживаемые операторы *:
eq — равно
ne — не равно
gt — больше
ge — больше или равно
lt — меньше
le — меньше или равно
like (только текстовый поиск) — совпадают, если содержат шаблон.
*Для целочисленных и элементов данных с плавающей точкой: поддерживаются операторы eq (по умолчанию), negtgeltle.
*Для элементов данных строки, текста и журнала: поддерживаются операторы like (по умолчанию), eqne.
Примеры:
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() в качестве примера по использованию сдвига_времени.

1 комментарий

  1. Анонимный:

    спасибо, поменяй
    count(600,12,"gt") — количество значений за последние 10 минут, которые равны '12'
    на
    count(600,12,"gt") — количество значений за последние 10 минут, которые БОЛЬШЕ '12'

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Добро пожаловать в блог IT-пилот

Введите Ваш Email чтобы подписаться

Подписка оформлена!