Как создать параметр на основе другого параметра

Started by bobersl, March 19, 2015, 12:03:13 PM

Previous topic - Next topic

bobersl

По SNMP получил и дорасчитал текущую скорость интерфейса на свиче. Но хочу также увидеть эту загрузку в процентах. При этом запрашивать еще раз скорость интерфейса с устройства не хочу, чтобы не нагружать само устройство. Как на основе уже полученных данных получить загрузку интерфейса и в килобитах/мегабитах, и в процентах?

kozlov_ao

Создать отдельную метрику, которая будет получать значение скорости, раз в сутки например, и потом использовать ее значение как опорное, в других метриках...

bobersl

Quote from: kozlov_ao on March 19, 2015, 12:25:09 PM
Создать отдельную метрику, которая будет получать значение скорости, раз в сутки например, и потом использовать ее значение как опорное, в других метриках...
Пока так и не понял, как использовать данные из одной метрики в другой. Можно поподробней?

Tatjana Dubrovica

Это делаеться через скрипт.

Вот полезные функции для этого:
https://wiki.netxms.org/wiki/NXSL:GetDCIObject
https://wiki.netxms.org/wiki/NXSL:GetDCIValue

Сделать Internal dummy DCI со скриптом:

maxSpeed = n
return GetDCIValue($node, FindDCIByName($node, "current speed")) / maxSpeed

kozlov_ao

Как то так:
my_var = GetDCIValueByDescription($node, "DCI_Description");


bobersl

Возник вопрос. Вот такая строка в скрипте работает:
my_var = GetDCIValueByDescription($node, "DCI_Description");

Но если написать вот так:
sting s = "DCI_Description";
my_var = GetDCIValueByDescription($node, s);
то не работает. Можно ли передать в функцию переменную? Если можно, то как это реализовать?

Tatjana Dubrovica