NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: Voronok on July 24, 2008, 09:54:26 AM

Title: Трансформация значений работает непонятно
Post by: Voronok on July 24, 2008, 09:54:26 AM
Добрый день!

Мониторю уровень прямого канала на доксисовском модеме. Опрашивает каждые 5 минут. В трансформацию записал такой скрипт:

GetDCIValue($node, FindDCIByDescription($node, "Upstream"))+600

и получаю такие значения

538 - то что снимается с модема.
1138 - то что мне надо.
1738
2338
2938

Почему-то он прибавляет к предыдущему значению, а не к полученному. В поле "Step1" стоит значение "None", но пробовал ставит все значения.

Что я не так делаю? Мне просто нужно значение, увеличенное на 600.
Title: Re: Трансформация значений работает непонятно
Post by: Victor Kirhenshtein on July 24, 2008, 10:48:20 AM
Если нужно просто увеличить значение на 600, то скрипт будет такой:


$1 + 600


GetDCIValue возвращает последнее значение DCI, записанное в базе, а $1 - это переменная, которая содержит текущее значение до трансформации. GetDCIValue используется обычно для трансформации, зависящей от другого DCI - например поделить объем свободной памяти на общий объем памяти и получить процент свободной памяти.
Title: Re: Трансформация значений работает непонятно
Post by: Voronok on July 24, 2008, 11:12:44 AM
Спасибо, большое. Так работает. )