УкраїнськаEnglishmRussian
Вход/Новый
В теме нет новых постов

Предпоследние значение из архива


Автор Сообщение
Сообщение создано: 28. 07. 2017 [12:14]
mexanic
Konstantin Tkachenko
Создатель темы
Зарегистрирован(а) с: 28.07.2017
Сообщения: 2
Добрый день!

Собрался снять данные по SNMP с роутера. В явном виде цифры загрузки интерфейса нет, нужно вычислить дельту октетов в промежутке времени.

Функция вычисляется 1 раз в сек. т.е.

Мне нужно получить значение из архива на 2 сек меньше.

В документации нашел

val = vArh(strPath2Sep(addr)).get(time,uTime,0,archtor);

Не совсем понятно что есть time,uTime?

Получилось вернуть значение такое же как и источник:
time0=tmTime();
addr = "DAQ.SNMP.snmp1.1._1_3_6_1_2_1_2_2_1_11_10";
val = Special.FLibSYS.vArh(strPath2Sep(addr)).get(time0, 1 , 0, "");


Нужный результат получается через sleep() но это не очень красиво и подвешивает всю систему.


Сообщение создано: 07. 08. 2017 [11:40]
mexanic
Konstantin Tkachenko
Создатель темы
Зарегистрирован(а) с: 28.07.2017
Сообщения: 2
Добрый день!
Спасибо всем, отвечаю на свой собственный вопрос.!

Думаю подойдет для любого коммутатора с SNMP.

using Special.FLibSYS;

time0=tmTime();
time1=tmTime();

octetI = iso.3.6.1.2.1.2.2.1.11.10_C;
octetO = iso.3.6.1.2.1.2.2.1.17.10_C;

arch_adr_IN = "DAQ.SNMP.snmp1.1._1_3_6_1_2_1_2_2_1_11_10";
arch_adr_OUT = "DAQ.SNMP.snmp1.1._1_3_6_1_2_1_2_2_1_17_10";


archI = Special.FLibSYS.vArh(strPath2Sep(arch_adr_IN)).get(tmTime()-6, -1, 0, "");
archO = Special.FLibSYS.vArh(strPath2Sep(arch_adr_OUT)).get(tmTime()-6, -1, 0, "");


deltaI = octetI - archI;
deltaO = octetO - archO;

trafI = (deltaI*8*100)/500000;
trafO = (deltaO*8*100)/500000;



2888