Синтаксически скрипт правильный. Проблема в том, что в текущей версии статус узла через аттрибуты недоступен. Я добавил соответствующий атрибут, он называется status, и в 0.2.23 такой скрипт можно будет использовать:
sub main()
{
return ($node->status == 4) ? 0 : 1;
}
Еще один комментарий - а если у узла уже будет статус CRITICAL, например из-за того, что один из интерфейсов в статусе CRITICAL? Тогда и первое письмо не будет отослано. Для таких задач можно использовать ситуации - при получении трапа от упса выставлять атрибут соответствующей ситуации в 1, а в скрипте проверять состояние этого атрибута.
P.S. Маленький пример использования ситуаций (на английском) - https://www.netxms.org/forum/index.php/topic,321.0.html
sub main()
{
return ($node->status == 4) ? 0 : 1;
}
Еще один комментарий - а если у узла уже будет статус CRITICAL, например из-за того, что один из интерфейсов в статусе CRITICAL? Тогда и первое письмо не будет отослано. Для таких задач можно использовать ситуации - при получении трапа от упса выставлять атрибут соответствующей ситуации в 1, а в скрипте проверять состояние этого атрибута.
P.S. Маленький пример использования ситуаций (на английском) - https://www.netxms.org/forum/index.php/topic,321.0.html