Written on: 28. 07. 2017 [12:14]
|
mexanic
Konstantin Tkachenko
Topic creator
registered since: 28.07.2017
Posts: 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() но это не очень красиво и подвешивает всю систему.
|
Written on: 07. 08. 2017 [11:40]
|
mexanic
Konstantin Tkachenko
Topic creator
registered since: 28.07.2017
Posts: 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;
|