@Softsof

Как правильно составить выражение для триггера Zabbix?

Добрый день!

Есть триггер, который срабатывает при определенных условиях. И находится в состоянии "проблема" до умопомрачения, так как "аварийные" условия продолжают сохраняться.

Можно ли сделать, чтобы триггер переходил в состояние "решено", если проблема висит уже, например, 72 часа?

Что было испробовано:

1. Выражение восстановления - не работает, так как выражение проблемы остается "в силе".
2. Манипуляции с {TRIGGER.VALUE}=0 и {TRIGGER.VALUE}=1 - триггер начинает "флапать". То есть триггер постоянно переходит из состояния "ок" в состояние "проблема".
3. Функции "avg" и "min/max" за последние N часов - не работает. Оценка этого значения происходит только в момент срабатывания триггера, когда значение - "аварийное". Через N часов после срабатывания триггера подсчет не производится, триггер остается в состоянии "проблема".
4. Функция "nodata" за последние N часов - не работает. Дело в том, что данные есть, собираются каждую минуту агентом.
5. Функция change - то есть реагировать, если значение изменилось и наоборот - не реагировать, если значение не изменилось. Не подходит, так как в таком случае триггер висит не дольше минуты, на него не успевают среагировать. Нужно, чтобы висело 72 часа.

Нужно выражение в роде: если OperStatus = 2 - проблема; если OperStatus = 2 уже 72 часа и более - решение проблемы.

Спасибо большое за Вашу помощь!
  • Вопрос задан
  • 6890 просмотров
Пригласить эксперта
Ответы на вопрос 2
@lameritos
Как обычно сложно объяснить системе мониторинга =) что плохо это хорошо :))
если статуса только 2
{TRIGGER.VALUE}=0 и опер статус change и {TRIGGER.VALUE}=1 и опер статус авг (72 часа)=2

как то так наверно

отпишитесь если не выйдет
Ответ написан
Комментировать
@Softsof Автор вопроса
Помогло следующее решение:

1. Если триггер срабатывает по трапу, то в выражение добавляется "and трап.nodata(259200)=0".
То есть если трап не прилетает 72 часа, то триггер перейдёт в состояние ОК.

2. Если триггер срабатывает не по трапу, то мне помогла строчка "delta(259200)=1".
Что означает, что за 72 часа разница между мин и макс значением = 1 (есть изменение), тогда проблема.
Соответственно, если за 72 часа delta = 0 (нет изменений), триггер перейдёт в состояние ОК.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы