Пропуск события при тревоге

Started by Pavel, December 07, 2020, 07:14:36 AM

Previous topic - Next topic

Pavel

Приветствую.

Ситуация такая. Мониторю температуру процессора. Выставил в метриках пороговое значение - 70 градусов цельсия.
И вот, наступил момент - температура выросла до порогового значения. Создалась тревога. Отправилось письмо на почту (через команду серверу). Всё ок.
Температура начала прыгать - 70-71. И вот на каждый прыжок с одного значения на другое - мне начали приходить письма. За ночь - несколько сотен.

И вот вопрос. Можно ли как-то сделать, чтобы в течение определённого времени - после первой тревоги - не совершались заданные действия. Иначе говоря, чтобы письма сотнями не отправлялись в таком случае.

PS Нашёл timer key и blocking timer key - но это похоже не то что мне нужно. Первый добавляет задержку, а второй - вообще не понял как работает.
А мне бы так - чтобы было только одно письмо - о первой тревоге.

Alex Kirhenshtein

Тут есть несколько путей решения проблемы:

1) увеличить параметр Samples в настройках трешхолда - тогда он будет срабатывать только если трешхолд совпадает n семплов подряд (например "polling time=1min, samples=3, last > 70" сработает только если температура больше 70 в течении трех минут).
2) кроме отсылки мейла, добавить в это правило EPP action=script, в котором на ноде выставлять время последней отсылки, что-то типа

SetCustomAttribute($node, "lastSent", time());

и фильтром на этом же правиле проверять:
if (lastSent@$node != null && lastSent@$node + 3600 < time()) { // 3600 - разница в секундах
  return false;
}
return true;


(альтернативный вариант - сделать правило с stop processing - или еще что-то на скриптах)

2) сделать трешхолд с функцией Script и скриптом вида:

if ($1 > 70) { return true; }
if ($dci->hasActiveThreshold && $1 > 65) { return true; }
return false;


с таким скриптом трешхолд сработает на превышении 70-и градусов, а уйдет в нормальное состояние только когда температура просядет ниже 65.

Pavel

Ага, спасибо, попробую первый и последний вариант.