Как получить значения DCI с другой ноды?
-
-
Напрямую из скрипта это сделать нельзя. Но есть обходной путь - делается еще один DCI, у которого как proxy выставляется та нода, откуда надо получить значение. Ну а дальше как обычно.
-
Виктор, не получилось..

Мои действия:
Есть две ноды - А и В. На обеих режим прокси включен. Также, на обеих нодах есть DCI "Status". У хоста А ID статуса 4590, у хоста В ID статуса 3662.
На ноде А делаю DCI (Proxy не указываю), в Transformation script делаю:sub main() { $ts = FindDCIByDescription($node, "Status"); return $ts; }Все работает. Возвращается значение 4590, т.е. то, что нужно.
В свойствах этого-же DCI добавляю в качестве Proxy ноду В, и все. Значения больше не собираются., а сам DCI становиться красным. При этом, когда DCI покраснел, его трудно удалить. Консоль при удалении, начинает ругаться на Time Out.. Версия агентов и сервера 0.2.24.
Может что неправильно делаю... ???
Не подскажете, что можно сделать? Уже всю голову сломал, но это очень нужно..
-
Esli noda B postavlena kak proxy dlja DCI nodi A, to nado v svojstvah nodi B dobavit' nodu A v spisok "Trusted Nodes". Eto sdelano dlja bezopasnosti - inache pol'zovatel', u kotorogo est'; prava rabotat' s nodoj A, no net prav rabotat' s nodoj B, cherez proxy mehanizm mog bi nastroit' poluchenie dannih s nodi B. Alternativnij variant - voobsche otkljuchit' etu proverku, vistaviv parametr servera CheckTrustedNodes v 0.
-
Виктор, это опять я...
простите, но не работает. 
Проверку отключал, в Trusted Nodes добавлял. Теперь не краснеет. Только ведет себя как-то непонятно.
Если на ноде А оставить скрипт:sub main() { $ts = FindDCIByDescription($node, "Status"); return $ts; }то, не важно, добавлена нода В как прокси или нет, выдается значение локального ID статуса, т.е. от ноды А.
Если пробовать вместо $node писать (хоть с кавычками, хоть без) имя ноды В, или ее ID, то выдается результат 0, как будто DCI не найден. -
Esli ja pravil'no ponjal, to sejchas na node A dva DCI s identichnimi description'ami - "Status". Poetomu FindDCIByDescription nahodit pervij popavshijsja s takim opisaniem, i eto okazivaetsja lokal'nij. Nado sdelat' unikal'nij description dlja DCI.
-
Я тоже так подумал, поэтому сделал тестовый DCI с Description 1234. Но возврат значения был так-же 0.
Сейчас обновляюсь на 0.2.27. Может там это лучше получиться сделать.. Как попробую отпишусь.Нет, не помогло.... Проверял разные скрипты. Искал и по описанию и по имени..
-
Tol'ko chto zametil - v skripte toze oshibka. FindDCIByDescription nahodit DCI i vozvraschaet sootvetstvujuschij ob'ekt - a znachenie poluchaet funkcija GetDCIValue. T.e. skript dolzen vigljadet' tak:
sub main() { $ts = FindDCIByDescription($node, "description here"); return GetDCIValue($node, $ts); }Proveril u sebja - rabotaet.
-
Виктор, убейте меня....ну не понимаю, почему у меня не работает. Можете написать пример для тех кто на бронепоезде? Все правильно указано, а результат в итоге - "0"!

Заранее спасибо за помощь!
Может есть какая-нибудь возможность детально посмотреть, что он делает, куда лезет и что пытается найти?
-
На моей тестовой системе сделано так:
Есть нода NETXMS, на ней я хочу получить DCI со значением статуса с ноды catalyst-2900-central.radensolutions.com.
На скриншоте #1 - trusted nodes для catalyst-2900-central.radensolutions.com;
На скриншоте #2 - last values для catalyst-2900-central.radensolutions.com - видно что статус равен 4;
На скриншоте #3 - DCI, созданный на ноде NETXMS для получения статуса с ноды catalyst-2900-central.radensolutions.com;
На скриншоте #4 - DCI, созданный на ноде NETXMS, в котором я хочу получить статус ноды catalyst-2900-central.radensolutions.com в скрипте; я использовал dummy параметр, но он может быть любым;
На скриншоте #5 - transformation script для этого DCI.





-
И еще один скриншот (в одном посте можно только 5) - last values для ноды NETXMS. Видно что у параметра dummy значение 4, как и должно быть.

-
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login