У меня в сети не используются агенты.
Можно ли добавить опцию для отключения агентов для всех новых нод?
С добавлением метода enableAgent можно повесить скрипт на SYS_NODE_ADDED и отключать агентов с его помощью.
Столкнулся с проблемой передачи параметра в скрипт.
Если в Actions Configuration:
DisableAgentOnEvent - запускает скрипт без параметров. Действий не происходит.
DisableAgentOnEvent(%I) - Не найден скрипт
Node added
[26-Mar-2014 11:22:15.913] [DEBUG] *actions* Executing action 1 (DisableAgentNodeAdded) of type NXSL SCRIPT
[26-Mar-2014 11:22:15.913] [DEBUG] *actions* Executing NXSL script "DisableAgentOnEvent(8665)"
[26-Mar-2014 11:22:15.913] [DEBUG] ExecuteActionScript(): Cannot find script DisableAgentOnEvent(8665)
Из консоли тоже ошибка:
$ nxadm -c "exec DisableAgentOnEvent(8647)"
ERROR: Script "DisableAgentOnEvent(8647)" not found
DisableAgentOnEvent %I - Не найден скрипт
[26-Mar-2014 11:17:15.361] [DEBUG] *actions* Executing action 1 (DisableAgentNodeAdded) of type NXSL SCRIPT
[26-Mar-2014 11:17:15.361] [DEBUG] *actions* Executing NXSL script "DisableAgentOnEvent 8658"
[26-Mar-2014 11:17:15.361] [DEBUG] ExecuteActionScript(): Cannot find script DisableAgentOnEvent 8658
Из консоли - работает
nxadm -c "exec DisableAgentOnEvent 8647"
INFO: Script finished with rc=0
Как правильно привязать скрипт к event?
Если скрипт вызван из политики, то у него будут две переменных выставлены - $node и $event. Описания классов здесь: http://wiki.netxms.org/wiki/NXSL:Node (http://wiki.netxms.org/wiki/NXSL:Node) и http://wiki.netxms.org/wiki/NXSL:Event (http://wiki.netxms.org/wiki/NXSL:Event).
Спасибо!
Все заработало.
Скрипт:
$node->enableAgent(false);