По SNMP получил и дорасчитал текущую скорость интерфейса на свиче. Но хочу также увидеть эту загрузку в процентах. При этом запрашивать еще раз скорость интерфейса с устройства не хочу, чтобы не нагружать само устройство. Как на основе уже полученных данных получить загрузку интерфейса и в килобитах/мегабитах, и в процентах?
			
			
			
				Создать отдельную метрику, которая будет получать значение скорости, раз в сутки например, и потом использовать ее значение как опорное, в других метриках...
			
			
			
				Quote from: kozlov_ao on March 19, 2015, 12:25:09 PM
Создать отдельную метрику, которая будет получать значение скорости, раз в сутки например, и потом использовать ее значение как опорное, в других метриках...
Пока так и не понял, как использовать данные из одной метрики в другой. Можно поподробней?
			
 
			
			
				Это делаеться через скрипт. 
Вот полезные функции для этого: 
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
			
			
			
				Как то так:
my_var = GetDCIValueByDescription($node, "DCI_Description");
			
			
			
				Спасибо. Все получилось.
			
			
			
				Возник вопрос. Вот такая строка в скрипте работает:
my_var = GetDCIValueByDescription($node, "DCI_Description");
Но если написать вот так:
sting s = "DCI_Description";
my_var = GetDCIValueByDescription($node, s);
то не работает. Можно ли передать в функцию переменную? Если можно, то как это реализовать?
			
			
			
				https://www.netxms.org/documentation/adminguide/nxsl.html#variables
Попробуйте так:
s = "DCI_Description";
my_var = GetDCIValueByDescription($node, s);