Izbornik Zatvoriti

Mikrotik skript: čuvanje statistike protoka u tekst datoteci

Skraćena veza: https://pedja.supurovic.net/veza/5245

Evo jednostavnog primera koji demonistrira upotrebu mikrotik skript jezika za čitanje podataka iz Simple Queue u petlji i njihov zapis u tekstualnu datoteku:

{

 :local mOutput ""

 :foreach mQueue in=[ /queue simple find] do={  

   :local mName [get $mQueue name]
   :local mSaveStat [:find $mName "%"] 

   :if ($mSaveStat >= 0)  do={
     :local mBytes [get $mQueue bytes]
     /queue simple reset-counters $mQueue
     :set mOutput ( $mOutput . $mName . ":" . $mBytes  . "\n")
     :put ($mOutput)
   }

 }

 /file print file=wan-stats
 /file set wan-stats.txt contents="$mOutput"

}

Kroz listu Simple Queue pravila se prolazi petljom foreach. Za svako pravilo se izvršava kod u do bloku petlje. Prvo se pokupi ime pravila ($mName) a zatim pogled da li se u njemu nalazi znak % ($mSaveStat >= 0) . Samo za ona pravila koja sadrže ovaj znak beleži se statistika. To omogućava da možemo da izaberemo za koja pravila hoćemo statistiku.

Pročitani protok se sačuva u $mBytes da bi ga kasnije upotrebili, a nakon pročitane vrednosti, resetuje se brojač protoka, tako da sledeće očitavanje daje promenu od prethodnog očitavanja.

Svi pročitani podaci se upisuju u promenljivu $mOutput kao tekst, s tim da se za svako pravilo na kraju dodaje i kod \n, što obezbećuje da su podaci za svako pravilo upisani u posebnom redu.

Na kraju, sadržaj promenljive $mOutput upisujemo u datoteku wan-stats.txt.

1 Comment

  1. mtopic

    Pozdrav,
    malo mi nije jasno kako ovo da podesim… Da li je dovoljno da kreiram novu skriptu u System->Scripts i samo prekopiram ovaj kod od gore i u Simple Queues da pored svakog pravila dodam %?
    Kada sam ovako uradio i isao na RUN script nista se ne desava i nema mi nigde .txt fajla sa ovim podacima.
    Treba li skripta da se stavi u Scheduler i da se sama pokrece u odredjeno vreme, ili je dovoljno da je samo jednom pokrenem?
    Jos jedno pitanje da li ovo znaci da kada mi se restartuje ruter da ce sva statistika iz queuesa ostati zapamcena?
    Hvala!
    P.S. U pitanju je Mikrotik 3.11

Ostavite odgovor

Vaša adresa e-pošte neće biti objavljena. Neophodna polja su označena *

Popunite izraz tako da bude tačan: *

Ovo veb mesto koristi Akismet kako bi smanjilo nepoželjne. Saznajte kako se vaši komentari obrađuju.