Триггеры переменной
Триггер переменной активирует тревогу в случае:
Когда значение переменной удовлетворяет некоторому условию или
Когда изменяется значение переменной (неважно, каким является новое значение) или
Когда значение переменной выходит за пределы заданных порогов.
Когда строка с определенным хэш-кодом (ID) впервые появляется в табличном значении переменной
Выбор между данными методами осуществляет свойство триггера Режим. Другие свойства триггера переменной описаны здесь.
Каждый триггер переменной исследует значение переменной каждого контекста, соответствующего настройке, определяемой маской контекста. Параметр Период проверки задает период опроса. Таблица данных, которая содержит значение переменной, выбирается из контекста, затем, согласно настройке Режим, происходят действия по обработке.
Триггер переменной не сработает , если оценка выражения имеет неправильный тип для выбранного режима. Например, если режим установлен на Dynamic Baselining, но результатом оценки выражения является таблица данных, триггер не сработает. |
Режим Состояние
Если Режим имеет значение Состояние (ложь/истина), сервер оценивает выражение, заданное параметром Выражение. Это выражение должно иметь булево значение или значение Null. Выражение может содержать ссылки на ячейки таблицы данных, содержащие значение переменной, а также любые другие переменные или функции контекста SberMobile Server.
Если выражение имеет значение TRUE, а результат предыдущей оценки был FALSE (или если переменная проверяется впервые с момента запуска SberMobile Server или с момента последнего изменения свойств этого оповещения), триггер срабатывает и поднимает оповещение. Если оценка TRUE и во время последней проверки она также была TRUE, никаких действий не выполняется. Если значение изменяется с TRUE на FALSE, то никаких действий также не выполняется, но последующее изменение на TRUE приведет к срабатыванию триггера.
Если выражение имеет значение NULL, триггер сохранит свое предыдущее состояние - активное или неактивное.
Если указано выражение ключа записи, то выражение независимо обрабатывается для каждой строки значения переменной. |
Режим Изменение состояния
Если в поле Режим выбрано Изменение состояния (любое значение), Выражение вычисляется с периодичностью заданной в поле Период проверки по такому же сценарию, но результат может быть любого типа. Сервер запоминает результат последнего вычисления. Если новый результат вычисления Выражение отличается от предыдущего, триггер поднимает тревогу.
Режим Динамические пороги
Если в поле Режим выбрано Динамические пороги (число), Выражение вычисляется с периодичностью заданной в поле Период проверки как и в первом сценарии, но результат должен быть только числом. Если это число меньше нижнего порога или больше верхнего порога, определенных в поле Пороги, триггер активируется и поднимает тревогу.
Если параметр Маска контекста указывает на более, чем один контекст, каждый контекст исследуется отдельно и тревога запускается каждый раз, когда значение переменной соответствует условию (или изменению, или выходу за установленные пороги в зависимости от настройки Режим) любого из данных контекстов.
Пример триггера переменной, когда Режим триггера – "Состояние (ложь/истина)": Предположим, что мы осуществляем мониторинг переменной Текущая температура, полученной от датчика температуры. В данном случае Выражение может ссылаться на поле Температура по шкале Цельсия данной переменной и активировать тревогу, если температура превысила заданный предел. Параметры триггера могут быть следующими: |
Пример триггера переменной с "Изменение состояния (любое значение)": Теперь предположим, что мы контролируем переменную Список предупреждений, поступающую от медицинского оборудования, контролирующего некоторые важные параметры состояния пациента. Значение данной переменной является таблицей данных из пяти записей, и каждая запись имеет одно строковое поле Предупреждение, содержащее текстовое предупреждение о состоянии пациента. По данному сценарию Выражение может объединить все сообщения-предупреждения, соединяя их, и активировать тревогу, когда любое из этих предупреждений удаляется, добавляется или изменяется. Параметры триггера могут быть следующими: |
Время выдержки и гистерезис (зона нечувствительности)
Триггеры переменной имеют параметр Задержка, который помогает задать такие тревоги, как "Предупреждение: температура ниже 10 градусов более часа".
Параметр Задержка применяется, когда в поле Режим выбрано Состояние (ложь/истина). Он определяет интервал между временем, когда выражение триггера становится TRUE и временем поднятия тревоги. Если Задержка не равна нулю, сервер ждет определенное количество секунд до активации триггера и поднятия тревоги. Если Выражение становится снова FALSE до окончания Задержки, тревога не поднимается и счетчик времени сбрасывается.
Независимо от значения Задержки, выражение триггера заново вычисляется каждый раз за Период проверки (который также является параметром триггера -- см. выше). Например, если Период проверки задан на 10 секунд, а время задержки - 15 секунд, тревога активируется спустя 20 секунд после того, как выражение было оценено как TRUE в первый раз. |
Триггер переменной активируется, если Выражение является TRUE в течение времени большего, чем Задержка. Он деактивируется, если:
Выражение деактивации не задано, и Выражение является FALSE не дольше Задержки деактивации.
Выражение деактивации задано и является TRUE не дольше, чем время Задержки деактивации.
Активированный триггер приводит тревогу в состояние Активный и добавляет Активный экземпляр. |
Комбинация Задержки и Задержки деактивации называется гистерезисом.
Гистерезис - задержка между действием и его причиной |
Изображение, приведенное ниже, показывает, как активируется/деактивируется триггер переменной, когда Выражение деактивации не задано.
Когда Выражение деактивации задано, то активация/деактивация триггера происходит по схеме, изображенной далее:
Пример триггера переменной с гистерезисом: Вернемся к вышеупомянутому примеру о контроле температуры. Мы хотим установить триггер, который:
Параметры триггера могут быть следующими: |
"Колебанием" называется ситуация, когда Выражение триггера меняет свой результат слишком быстро - постоянно переключает между TRUE и FALSE. Это может происходить ввиду следующих причин - например, если устройство постоянно перезагружается, его онлайн статус будет постоянно меняться.
SberMobile может обнаружить "колебание" триггера переменной. Это происходит посредством анализа предыдущих результатов оценки Выражения относительно количества произошедших изменений состояния. SberMobile хранит историю 101 последней проверки и анализирует изменения внутри истории. Если выражение TRUE не меняется на FALSE или наоборот в течение последней 101 проверки состояния (т.е. 100 изменений состояния), процент "колебания" будет равен 0%. Если все проверки имеют различные состояния, процент "колебания" равен 100%.
Распознавание "биения" контролируется тремя параметрами:
Включить распознавание "биения"
Порог активации
Порог деактивации
Первый параметр должен быть включен, чтобы разрешить тревоге определять наличие "биения". При его включении триггер хранит результат расчета Выражения, совершаемый во время каждого Периода проверки и заново рассчитывает процент "биения" при последующей проверке.
Тревога "биение" возникает, когда в истории находятся более, чем 11 проверок (10 изменений состояния) и процент "биения" превышает Порог активации. Тревога "биение" обрабатывается и доставляется подобно другим тревогам, ее единственными отличиями являются причина и данные тревоги.
Триггер будет оставаться в состоянии "Обнаружено биение" до тех пор, пока процент "биение" не упадет ниже Порога деактивации.
"биение" и активация триггера
"Биение" и обычная активация триггера совершенно независимы друг от друга. Это означает, что триггер может быть одновременно в состояниях "Активен" и "Обнаружено биение". Это также означает, что обычная тревога и тревога "биение" могут подниматься триггером в любом порядке.
Распознавание "биения" не вызовет обычную активацию, которая происходит, когда результат Выражения остается TRUE дольше времени Задержки.
Анализ внешних таблиц инцидентов
Иногда SberMobile Server извлекает таблицу инцидентов из внешнего источника. Появляется необходимость активизировать отдельную тревогу для каждой строки внешней таблицы. В этом случае, нужно настроить Выражение ключа записи триггера переменной. Это выражение будет оцениваться независимо для каждой строки значения Переменной, и оно должно вернуть уникальный ID инцидента, представленного строкой. В большинстве случаев, это выражение указывает на колонку "ID" внешней таблицы инцидентов.
В данном случае SberMobile Server активизирует отдельный экземпляр для каждого нового ID (значения), возвращенного Выражением ключа записи. Этот экземпляр будет активен пока во внешней таблице существует строка с этим ID. Если определенный ID на некоторое время исчезает из таблицы, а затем появляется снова, создается новый экземпляр тревоги.
В случае использования Выражения ключа записи, Выражение основного триггера проанализирует отдельную строку значения Переменной, а не целое табличное значение. Если оно вернет false, строка не будетактивизировать новую тревогу. Это удобно для отфильтровывания инцидентов с низкой уровнем критичности от инцидентов, которые не должны обрабатываться SberMobile Server.
Сообщение триггера
В дополнение к выражению Сообщения тревоги, каждый триггер переменной имеет свое собственное выражение Сообщения триггера. Это выражение разрешается в строку, когда активирована тревога. Итоговая строка становится частью События тревоги, и содержит специализированную информацию о причине активации тревоги или других обстоятельствах.
Среда вычисления
Среда вычисления выражения триггера переменной и выражения деактивации: | |
Контекст, чья переменная проверяется. | |
Текущее значение переменной триггера. | |
0 | |
Только стандартные переменные. |