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

Рейтинг
Оценка: 5Голосов: 3Комментарии: 3

Пишем скрипт подсчета трафика для Mikrotik RouteBoard RB493AH, Mikrotik RouterBoard 1100, Mikrotik RouterBoard 433AH, Mikrotik RouterBoard 711-5Hn-MMCX, Mikrotik RouterBoard 750G и других Mikrotik routerboard с Mikrotik router OS.

Первым делом создадим переменные:
: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

Вас может заинтересовать

 
3317 грн 124.70 у.е.
Купить
 

(Снят с производства)
 

(Снят с производства)

Если Вы нашли ошибку в тексте, то выделите ее мышкой и нажмите Ctrl + Enter или нажмите здесь.

Сообщение об ошибке

Ошибка:

Ваш комментарий (не обязательно):

Да Отмена

Об авторе Evgenij_Rudchenko

Ник для комментариев: tx