Как проверка значения пользовательского макроса в триггере (не срабатывание триггера в зависимости от значения макроса)?

Есть узлы с несколькими интерфейсами. На узлах агенты не стоят, мониторинг производится простой проверкой, пинг на указанные адреса интерфейсов.
Адреса интерфейсов прописаны макросами в самих узлах.

Есть триггеры вида:
{GW_Monitorings:icmpping[{$GW_WAN1},3].max(120)}=0
{GW_Monitorings:icmpping[{$GW_WAN2},3].max(120)}=0
И прочее.

Проблема:
если у узла один интерфейс, то второй вываливается ошибкой.
Шаблон назначается на кучу машин.
Необходима проверка в триггере: если не задан $GW_WAN2, или задано определенное значение (заранее фиксированное, обозначающее, что второго интерфейса нет) то в ходе выполнения триггера идет проверка макроса $GW_WAN2 и в случае отсутствия второго интерфейса триггер не срабывает.

Сейчас при пустом значении $GW_WAN2 триггер срабатывает, т.к. не может пропинговать пустое значение.

Указать 127.0.0.1 тоже не вариант, т.к. эти триггеры являются условием для других (т.е. и в других придется проводить проверку на значение макроса $GW_WAN2).

тупая проверка в триггере вида:
{$GW_WAN2}=0 не проходит, какие есть варианты и есть ли вообще?

P.S. Общая цель проверка живого впн соединения при хоть 1 живом WAN'е, в случае 127.0.0.1 не удастся понять что WANов живых нет.
Общая система с шаблонами, зависимостями триггеров и прочее.
  • Вопрос задан
  • 2735 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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