Отключение агентов для новых нод

Started by andrey--k, March 25, 2014, 11:46:21 AM

Previous topic - Next topic

andrey--k

У меня в сети не используются агенты.
Можно ли добавить опцию для отключения агентов для всех новых нод?

Victor Kirhenshtein

С добавлением метода enableAgent можно повесить скрипт на SYS_NODE_ADDED и отключать агентов с его помощью.

andrey--k

Столкнулся с проблемой передачи параметра в скрипт.

Если в 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?

Victor Kirhenshtein

Если скрипт вызван из политики, то у него будут две переменных выставлены - $node и $event. Описания классов здесь: http://wiki.netxms.org/wiki/NXSL:Node и http://wiki.netxms.org/wiki/NXSL:Event.

andrey--k

Спасибо!
Все заработало.
Скрипт:

$node->enableAgent(false);