Не отправлять собщения если алерт Acknowledged
-
Здравствуйте!
Подскажите, пожалуйста, есть ли возможность настроить отправку сообщений об алертах таким образом, что если этот алерт в статусе Acknowledged то сообщение не отправлять, т.к. о нем уже известно и идут по нему работы?
-
Сообщения отправляются по событиям. Можно в правило, в котором происходит отправка сообщения, добавить дополнительный скрипт-фильтр, который проверит наличие и статус соответствующего аларма.
-
Спасибо за ответ!
Можете, пожалуйста, написать примерный кусок этого фильтра?
А то я тоже попытался подойти к решению задачи с этой стороны но так и не понял что от куда брать и т.д. -
В аттаче пример правил. Первое правило отсылает сообщение если аларма с заданным ключем нет или он в состоянии "outstanding". Второе правило создает аларм с ключом (или обновляет существующий если аларм с таким клячем уже был).

-
Спасибо! Долго попробовал и имеем следующее: уведомления на почту приходят и Acknowledged сбрасывается в Outstanding.
Поможете решить задачу? -
Ну да, я не подумал что аларм сбросится в outstanding на повторном событии. Тут два варианта решения:
- Сделать такой-же фильтр для генерации алармов - т.е. событие будет просто игнорироваться если аларм уже есть. Тогда можно отсылку нотификации и генерацию аларма объединить в одно правило. Единственный недостаток - счетчик повторов у аларма не будет увеличиваться.
- Использовать "sticky acknowledge" вместо "acknowledge" для аларма - sticky состояние не будет сбрасываться обратно в outstanding.
-
А в фильтре я "руками" не могу увеличивать счетчик?
-
Попробовал и объединить в одно правило и использовать sticky: сообщение в любом случае отправляется, а sticky таки не сбрасывается

-
Перерыл всю доступную документацию и не нашел у объекта Event метод expandString() у других объектов тоже.
Сделал дебаг в фильтре:trace(0, "Alarm " . alarm);Получаем:
*I* [ ] Alarm
А если:trace(0, "Alarm " . alarm->state);То:
*E* [ ] Failed to execute evaluation script for event processing policy rule #23 (Error 14 in line 2: Function or operation argument is not an object)Из чего следует, что в целом я не получаю объект Alarm.
Есть еще какие-то варианты решить мою задачу?
-
Похоже что аларм не находится - в этом и проблема. Покажите пожалуйста как сейчас выглядит правило.
-
Нивапрос


-
А какая версия сервера? Но expandString должен работать, поскольку иначе была бы ошибка в той строке.
Попробуйте еще в trace добавить результат expandString, и потом сравните в аларм логе что ключ действительно совпадает с алармом. -
Спасибо за решение, работает!

Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login