Esse script gera LOGs de todas as interfaces WLANs conforme a utilização de banda de cada cartão. No script é setado a velocidade máxima da interface, caso esse valor seja ultrapassado, é gerado um log do sistema avisando que essa interface esta excedendo uma certa taxa de trafego, o log também pode ser enviado via SYSLOG.
No meu caso configurei o scheduler para executar o script em 30 em 30minutos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| :global traffic;
:global trafficlimit;
:global interface;
:global type;
:global name;
:global ip;
:global ssid;
:global band
:global tx;
:for i from="1" to=10 do={:set interface "wlan$i"; :set type [/interface wireless get $interface band];
<strong>#Nas próximas linhas é necessário configurar a velocidade máxima da interface, caso essa velocidade seja ultrapassada o log é gerado.</strong>
:if ($type = "2.4ghz-b") do={:set trafficlimit 2000000}; <strong>#velocidade dos cartões em 8002.11b</strong>
:if ($type = "2.4ghz-b/g") do={:set trafficlimit 4000000};<strong> #velocidade dos cartões em 8002.11b/g</strong>
:if ($type = "5ghz") do={:set trafficlimit 8000000}; <strong>#velocidade dos cartões em 8002.11a</strong>
/interface monitor-traffic [/interface find name=$interface] once do={:set traffic (tx-bits-per-second);
:if ($traffic > $trafficlimit) do={ :set name [/system identity get name];
:set ip [/ip address get 0 address];
:set ssid [/in wi get $interface ssid];
:set band [/in wi get $interface band;
:set tx ($traffic/1000)];
:log info "Nome=$name IP=$ip SSID=$ssid interface=$interface band=$band Tx-kbps=$tx" }}}; |
:global traffic;
:global trafficlimit;
:global interface;
:global type;
:global name;
:global ip;
:global ssid;
:global band
:global tx;
:for i from="1" to=10 do={:set interface "wlan$i"; :set type [/interface wireless get $interface band];
<strong>#Nas próximas linhas é necessário configurar a velocidade máxima da interface, caso essa velocidade seja ultrapassada o log é gerado.</strong>
:if ($type = "2.4ghz-b") do={:set trafficlimit 2000000}; <strong>#velocidade dos cartões em 8002.11b</strong>
:if ($type = "2.4ghz-b/g") do={:set trafficlimit 4000000};<strong> #velocidade dos cartões em 8002.11b/g</strong>
:if ($type = "5ghz") do={:set trafficlimit 8000000}; <strong>#velocidade dos cartões em 8002.11a</strong>
/interface monitor-traffic [/interface find name=$interface] once do={:set traffic (tx-bits-per-second);
:if ($traffic > $trafficlimit) do={ :set name [/system identity get name];
:set ip [/ip address get 0 address];
:set ssid [/in wi get $interface ssid];
:set band [/in wi get $interface band;
:set tx ($traffic/1000)];
:log info "Nome=$name IP=$ip SSID=$ssid interface=$interface band=$band Tx-kbps=$tx" }}};
Basta configurar o scheduler para executar o script de tempos em tempos, e acompanhar os resultados com o comando;
/log print
O resultado já é convertido em kbps, algo como
Nome=Nome-da-MK IP=10.0.0.1 SSID=REDE-TESTE interface=wlan1 band=2.4ghz-b Tx-kbps=2468
;