darkstarpz Posted June 15, 2020 Report Share Posted June 15, 2020 Здравейте, моля за съвет как трябва да е структуриран следния скрипт по отношение на bytes: :local txbytes [/ip firewall mangle get [/ip firewall mangle find where chain=prerounting] bytes] ; :put $txbytes Към момента не работи като output а е: no such item Това, което искам е да се присвои на променливата стойността на bytes от вградения dummy passthrough рул в mangle Благодаря! Link to comment Share on other sites More sharing options...
0 hgd Posted June 17, 2020 Report Share Posted June 17, 2020 (edited) Тук има един трафик колектор за Микротик - дали не търсиш реално подобно нещо? https://github.com/muhannad0/mikrotik-traffic-counter В техния примерен скрипт има подобна логика: :local wantxcomment "local-wan-tx" :local wanrxcomment "local-wan-rx" :local sysnumber [/system routerboard get value-name=serial-number] :local txbytes [/ip firewall mangle get [/ip firewall mangle find comment="$wantxcomment"] bytes] :local rxbytes [/ip firewall mangle get [/ip firewall mangle find comment="$wanrxcomment"] bytes] /tool fetch url=("http://<server ip/url>/collector.php\?sn=$sysnumber&tx=$txbytes&rx=$rxbytes") mode=http keep-result=no /ip firewall mangle reset-counters [/ip firewall mangle find comment="$wantxcomment"] /ip firewall mangle reset-counters [/ip firewall mangle find comment="$wanrxcomment"] :log info ("cleared counters for all mangle rules") Edited June 17, 2020 by hgd Link to comment Share on other sites More sharing options...
0 madmanz Posted June 17, 2020 Report Share Posted June 17, 2020 (edited) Изглежда, ще се наложи да използваш цикъл. Мисля, че [/ip firewall mangle find where chain=prerounting] ще ти върне масив с индексите на всички правила в prerouting веригата и в цикъл ще трябва да ги обходиш и да сумиращ или изпринтиш резултатите. Може би ще изглежда по този начин :global index; :foreach $index in [/ip firewall mangle find where chain=prerouting] do={:put /ip firewall mangle get $index bytes} Ако дадеш малко повече информация какво се опитваш да постигнеш ще е още по-добре. Edited June 17, 2020 by madmanz Link to comment Share on other sites More sharing options...
0 darkstarpz Posted June 25, 2020 Author Report Share Posted June 25, 2020 Здравейте, ползвам трафик колектора, но го измених доста - направих си статистика за трафик по дни и по месеци. Дефакто този скрипт подава инфо към уеб сървъра и посредство PHP пише резултатите в Sqlite база. От там ги чета, сумирам го по дни и месеци с се получи добре. Идеята ми беше да знам колко ми е трафика общо - ъплоад+даунлоад. Скрипта, който ползвам е: :local sysnumber [/system routerboard get value-name=serial-number] :local txbytes [/ip firewall mangle { get [find chain="prerouting"] bytes }] :local rxbytes [/ip firewall mangle { get [find chain="postrouting"] bytes }] /tool fetch url=("http://192.168.88.105/traffic/collector.php\?sn=$sysnumber&tx=$txbytes&rx=$rxbytes") mode=http keep-result=no /ip firewall mangle reset-counters [/ip firewall mangle find chain="prerouting"] /ip firewall mangle reset-counters [/ip firewall mangle find chain="postrouting"] :log info ("cleared counters for all mangle rules") и се различава от така представения в Github и затова отворих тази тема. 192.168.88.105 е web server, към който се подава инфото. Link to comment Share on other sites More sharing options...
Question
darkstarpz
Здравейте,
моля за съвет как трябва да е структуриран следния скрипт по отношение на bytes:
:local txbytes [/ip firewall mangle get [/ip firewall mangle find where chain=prerounting] bytes] ; :put $txbytes
Към момента не работи като output а е:
no such item
Това, което искам е да се присвои на променливата стойността на bytes от вградения dummy passthrough рул в mangle
Благодаря!
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now