Добрый день.
Написал 2 скрипта. Запускаю их через nxadm -c "exec ....". Все работает. Но есть цель подключить эти скрипты в Template-ах, и затем назначить на node-ы. В итоге сделал, назначение прошло. Однако после первого самозапуска DCI выдается сообщение "Not Supported". Origin пробовал и Internal и Script, ничего не помогает. Думал проблема в Data Type. Выставил универсальное String. Все тоже самое. Как в итоге подключить-то скрипт, чтоб он срабатывал как DCI на ноде?
Спасибо.
В скрипте точно нет ошибок? Только что проверил такую конфигурацию:
https://www.dropbox.com/s/ln8ozbzr0wmsoj5/Screenshot%202015-01-20%2023.59.33.png?dl=0
https://www.dropbox.com/s/wbno0ratkx7utqe/Screenshot%202015-01-21%2000.00.16.png?dl=0
https://www.dropbox.com/s/v32zkt9ic7tad4f/Screenshot%202015-01-21%2000.00.59.png?dl=0
А вот если в скрипте сделать ошибку:
https://www.dropbox.com/s/ispi1xg2nsu6lyr/Screenshot%202015-01-21%2000.02.00.png?dl=0
Вывод консоли в атаче.
Выяснил такую вещь. Скрипт, при использовании функции:
vars = SNMPWalk(transport, oid);
просто подвисает в консоли. Пока не нажмешь enter, он не переходит в строку приглашения.
Скрипт выглядит так:
if ($1 == null)
{
println "Please specify node name as parameter";
return 3;
}
out = 0;
transport = CreateSNMPTransport(FindObject($1));
if (transport == null) return -1;
oid = ".1.3.6.1.4.1.21776.1.3.6.2.1.17"; // Names of the running processes
vars = SNMPWalk(transport, oid);
if (vars == null) return -2; // SNMPWalk failed
foreach (v: vars) {
trace(1, "SNMP WALK ".v->name."=".v->value);
out = out+v->value;
}
return out;
Взят из примера отсюда: https://wiki.netxms.org/wiki/NXSL:SNMPWalk
Это косяк консоли. Чтение с консоли и работа скрипта параллельны, поэтомы приглашение показывается раньше чем отрабатывает скрипт. Enter можно не нажимать, а так команды писать.
Quote from: Victor Kirhenshtein on January 22, 2015, 11:13:05 PM
Это косяк консоли. Чтение с консоли и работа скрипта параллельны, поэтомы приглашение показывается раньше чем отрабатывает скрипт. Enter можно не нажимать, а так команды писать.
Установил ваш пример. Ситация такая же. Как только отключаю SNMPWALK, все начинает работать и нет сообщений о Not Supported.