Меню
Контакты
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Интернет-магазин
сетевого оборудования
Москва +7 (495) 103-41-03 +7 (915) 420-28-94
107023, Москва, пл. Журавлёва, 10с3, подъезд 31, офис 309
Пн-Пт: с 9-00 до 17-00   Сб-вс: выходной
Заказать звонок

Скрипт подсчета трафика

 30 Апр 2016    MikroTik, Scripts

 

Первым делом создадим переменные:
:global up – переменная, в которую будет записываться исходящий трафик.
:global down – переменная, в которую будет заносится входящий трафик.
:global total – сумма двух переменных, общий трафик.
:global traff – будет заноситься значение шейпера.
 


Рис.1. Создаем глобальные переменные.

 


Рис.2. Извлекаем данные о трафике.

 

Извлекаем данные из шейпера queue1 в переменную traff:
:set traff [/queue simple get "queue1" byte];

Выводим значение переменной traff:
:put $traff;

 213479463/8458675477

Мы видим количество трафика. До слеша - это исходящий трафик, после  - входящий. Но для того, чтобы можно было производить какие-то действия над этими значениями, необходимо избавится от слеша.

Заносим значение исходящего трафика в переменную up:
set up [:pick $traff 0 ([:find $traff "/"]-1)];

Заносим значение входящего трафика в переменную down:
:set down [:pick $traff ([:find $traff "/"]+1) [:len $traff]];

И выводим на экран.



Рис.3. Заносим значения в переменные.

 

Рис.4. Переводим байты в мегабайты, для исходящего трафика.

 
Создаем глобальную переменную для исходящего трафика в мегабайтах:
:global upm;
 

Переводим исходящий трафик из байтов в мегабайты:
:set upm ($up / 1048576);

Выводим значение на экран:
:put $upm;

 

Рис.5. Входящий трафик в мегабайтах:

 

Создаем глобальную переменную для входящего трафика в мегабайтах:
:global downm;

Переводим входящий трафик из байтов в мегабайты:
:set downm ($down / 1048576);

Выводим значение на экран:
:put $downm;

Для того, чтобы получить значение общего трафика, необходимо просто сложить две переменные:
:set total ($upm + $downm);
:put $total;

 


Рис.6. Общий трафик в мегабайтах.

 

Теперь мы знаем, как извлечь количество трафика из правила шейпера.

 

Евгений Рудченко специально для asp24