gap5
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Хочу написать считалку трафика по SNMP, задача запускать внешнюю софтину, которая опрашивает девайс, получает от него 2 переменных (входящий и исходящий трафик) и далее записывает их содержимое в файл "текущая-дата.log" в формате <in>XXX</in> <out>XXX</out> Но есть один момент - девайс может перегрузиться (между опросами) и тогда значине счетчиков сбросится, по этому надо их значения с чем-то сравнивать... Пока вижу такую процедуру: а0) Запускаем внешние команды "data.exe -trafficin" и "data.exe -trafficout" Пишем их вывод (набор цифр) в переменные CUR-IN и CUR-OUT соответственно, далее смотрим: если нет файла "prev.log" идем на а1) если он есть на б1) а1) создаем файл "prev.log" и пишем в него значения (1 строка) CUR-IN, (2) CUR-OUT (3) CURRENT-DATE (4) 0 (5) 0 после умираем (или, если со временем не будет утечки мозгов (как с этим в vbs?), засыпаем на 5 минут и потом повторяем все с команды а0). б1) считываем содержимое "prev.log" 1 строка в PREV-IN 2 строка в PREV-OUT 3 строка в PREV-DATE 4 строка в TODAY-IN 5 строка в TODAY-OUT далее сравниваем - если PREV-DATE = текущей дате, то идем на в1) если не равен текущей дате идем на а1) (т.е. как бы начинаем отсчет с нуля для новой даты) в1) если PREV-IN < CUR-IN, и PREV-OUT < CUR-OUT (т.е. счетчики не сбрасывались) получаем разницу и прибавляем текущие показания, т.е. CUR-IN - PREV-IN + TODAY-IN = LOG-IN, и CUR-OUT - PREV-OUT + TODAY-OUT = LOG-OUT. если PREV-IN > CUR-IN, и PREV-OUT > CUR-OUT (т.е. счетчики на девайсе сбрасывались) просто восстанавливаем актуальное значение, т.е. TODAY-IN + CUR-IN = LOG-IN, TODAY-OUT + CUR-OUT = LOG-OUT пишем в файл CURRENTDATE.log значения <in>LOG-IN</in> и <out>LOG-OUT</out> далее идем на в2) в2) пишем значения в "prev.log" (1строка) CUR-IN (2) CUR-OUT (3) CURRENTDATE (4) LOG-IN (5) LOG-OUT Вроде все предусмотрел или нет? Кому не сложно, накидайте примерный вид этого на vbs. | Всего записей: 1070 | Зарегистр. 30-05-2006 | Отправлено: 20:30 17-05-2007 | Исправлено: gap5, 20:31 17-05-2007 |
|