Silahkan paste script ini di terminal mikrotik
/system scheduler add interval="00:00:00" name="RXByte.log" on-event="1" start-time="00:00:00" /system scheduler add interval="00:00:00" name="RXByteCur.log" on-event="1" start-time="00:00:00" /system scheduler add interval="00:00:00" name="TXByte.log" on-event="1" start-time="00:00:00" /system scheduler add interval="00:00:00" name="TXByteCur.log" on-event="1" start-time="00:00:00" /system scheduler add interval="00:01:00" name="RESET-RXTX" start-time=startup /system scheduler add interval="00:0:030" name="BANDWIDTH-MONITORING" start-time=startup
Copy Paste Script reset bulanan ini dalam file Scheduler RESET-RXTX
################################################################ # Script by Agus Ramadhani # fb.com/buananet.pangkalanbun # http://www.o-om.com # SCRIPT MIKROTIK BANDWIDTH MONITORING # Version 1.0 ################################################################ # Fungsi untuk reset Bulanan Setiap tanggal 1 ################################################################ :local varDate; :local varDay; :set varDate [/system clock get date]; :set varDay [:pick $varDate 4 6]; :if ($varDay = "01") do={ # jika har ini tanggal 1 reset RXTX ke nilai awal /system scheduler set RXByte.log comment="1" on-event="1" /system scheduler set RXByteCur.log comment="1" on-event="1" /system scheduler set TXByte.log comment="1" on-event=$RXByteCount /system scheduler set TXByteCur.log comment="1" on-event="1" /system scheduler disable [/system scheduler find name="RESET-RXTX"] } ################################################################
Copy Paste Script Monitoring ini dalam file Scheduler BANDWIDTH-MONITORING
################################################################ # Script by Agus Ramadhani # fb.com/buananet.pangkalanbun # http://www.o-om.com # SCRIPT MIKROTIK BANDWIDTH MONITORING # Version 1.0 ################################################################ :local INTMon WAN-WARNET; # silahkan ganti dengan interface (ether) yang ingin dipantau ################################################################ :local TOTQuota 500; # Set total quota dalam GB misalkan ISP hanya memberikan hanya 500GB ################################################################ :local RXByteCur [/interface get $INTMon rx-byte]; # Mengambil nilai RX-Byte saat ini pada interface terpilih ################################################################ :local RXByteCount [/system scheduler get RXByteCur.log on-event]; # Mengambil nilai RX-Byte dalam file log RXByteCur ################################################################ :local RXByte [/system scheduler get RXByte.log on-event]; # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte ################################################################ :local TXByteCur [/interface get $INTMon tx-byte]; # Mengambil nilai TX-Byte saat ini pada interface terpilih ################################################################ :local TXByteCount [/system scheduler get TXByteCur.log on-event]; # Mengambil nilai TX-Byte saat ini dalam file log TXByteCur ################################################################ :local TXByte [/system scheduler get TXByte.log on-event]; # Mengambil nilai TX-Byte saat ini dalam file Log TXByte ################################################################ :local ifReboot 0; # kita perlu mengetahui apakah router reboot ################################################################ :if ($RXByteCur>=$RXByteCount) do={} else={:set $ifReboot ($ifReboot+1);} :if ($TXByteCur>=$TXByteCount) do={} else={:set $ifReboot ($ifReboot+1);} # Tandai jika nilai RXTX-Byte saat ini lebih besar dari RXTX-Byte pada log ################################################################ :if ($ifReboot>=1) do={ # Cek Jika Router Reboot ################################################################ :set $RXByte ($RXByte+$RXByteCount); /system scheduler set RXByte.log comment=$RXByte on-event=$RXByte # jika komputer reboot jumlahkan total RX-Byte ################################################################ :set $TXByte ($TXByte+$TXByteCount); /system scheduler set TXByte.log comment=$TXByte on-event=$TXByte } else={ # jika komputer reboot jumlahkan total TX-Byte ################################################################ } :set RXByteCount ($RXByteCur); /system scheduler set RXByteCur.log comment=$RXByteCount on-event=$RXByteCount # Perbaharui nilai RX-Byte saat ini pada file log RXByteCur ################################################################ :set TXByteCount ($TXByteCur); /system scheduler set TXByteCur.log comment=$TXByteCount on-event=$TXByteCount # Perbaharui nilai TX-Byte saat ini pada file log TXByteCur ################################################################ :local RXTot ($RXByte+$RXByteCur); :local RXMB ($RXTot / 1024 / 1024); :local RXGB ($RXTot / 1024 / 1024 / 1024); # kalkulasi nilai RX-BYTE dalam MB dan GB ################################################################ :local TXTot ($TXByte+$TXByteCur); :local TXMB ($TXTot / 1024 / 1024); :local TXGB ($TXTot / 1024 / 1024 / 1024); # kalkulasi nilai TX-BYTE dalam MB dan GB ################################################################ :local RXTX ($RXTot+$TXTot); :local RXTXMB ($RXMB+$TXMB); :local RXTXGB ($RXGB+$TXGB); # Total kalkulasi nilai Total RXTX ################################################################ :log warning "###############################################"; :log warning "BANDWIDTH MONITORING [ Router Identity: $[/system identity get name] ]"; :log warning "###############################################"; :log warning "Interface Monitoring For: $INTMon"; /interface monitor-traffic [/interface find name=$INTMon] once do={ :local tx (tx-bits-per-second / 1024); :local rx (rx-bits-per-second / 1024); :log warning "Live Monitor RX = $rx kbps / TX = $tx kbps"; } # hanya untuk menampilkan rxtx saat ini ############################################################### :log warning "Total RX = $RXGB GB / $RXMB MB / $RXTot Bytes"; :log warning "Total TX = $TXGB GB / $TXMB MB / $TXTot Bytes"; :log warning "Total (RX+TX) = $RXTXGB GB / $RXTXMB MB / $RXTX Bytes"; :local percent ($RXTXGB*100 / $TOTQuota); :log error "Used Quota On This Month = $RXTXGB GB = $percent% from $TOTQuota GB"; :log warning "###############################################"; # Tampilkan Info pada LOG Mikrotik ################################################################ :local varDate; :local varDay; :set varDate [/system clock get date]; :set varDay [:pick $varDate 4 6]; :if ($varDay = "29") do={ # jika hari ini tanggal 29 aktifkan RESET-RXTX /system scheduler enable [/system scheduler find name="RESET-RXTX"]; } ################################################################
jangan lupa ganti nama ether dalam script sesuai interface masing2 yang ingin dipantau
:local INTMon WAN-WARNET;
jangan Lupa ganti total quota yang diberikan ISP masing2 dicontoh adalah 500GB
:local TOTQuota 500;
Gimana kalo kita mau misahin Monitoring bandwidth dan tampilan Monitoring View pada log agar masing-masing bisa diatur waktunya?
Pertama tambah satu scheduler dengan nama VIEW-LOG
/system scheduler add interval="00:0:030" name="VIEW-LOG" start-time=startup
Kemudian copy-paste Script dibawah ini kedalam file scheduler VIEW-LOG
################################################################ # Script by Agus Ramadhani # fb.com/buananet.pangkalanbun # http://www.o-om.com # SCRIPT MIKROTIK BANDWIDTH MONITORING # Version 1.0 ################################################################ :local INTMon WAN-WARNET; # silahkan ganti dengan interface (ether) yang ingin dipantau :local TOTQuota 500; # Set total quota dalam GB misalkan ISP hanya memberi hanya 500GB ################################################################ :local RXByteCur [/interface get $INTMon rx-byte]; # Mengambil nilai RX-Byte saat ini pada interface terpilih :local RXByte [/system scheduler get RXByte.log on-event]; # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte ################################################################ :local TXByteCur [/interface get $INTMon tx-byte]; # Mengambil nilai TX-Byte saat ini pada interface terpilih :local TXByte [/system scheduler get TXByte.log on-event]; # Mengambil nilai TX-Byte saat ini dalam file Log TXByte ################################################################ :local RXTot ($RXByte+$RXByteCur); :local RXMB ($RXTot / 1024 / 1024); :local RXGB ($RXTot / 1024 / 1024 / 1024); # kalkulasi nilai RX-BYTE dalam MB dan GB ################################################################ :local TXTot ($TXByte+$TXByteCur); :local TXMB ($TXTot / 1024 / 1024); :local TXGB ($TXTot / 1024 / 1024 / 1024); # kalkulasi nilai TX-BYTE dalam MB dan GB ################################################################ :local RXTX ($RXTot+$TXTot); :local RXTXMB ($RXMB+$TXMB); :local RXTXGB ($RXGB+$TXGB); # Total kalkulasi nilai Total RXTX ################################################################ :log warning "###############################################"; :log warning "BANDWIDTH MONITORING [ Router: $[/system identity get name] ]"; :log warning "###############################################"; :log warning "Interface Monitoring For Ether: $INTMon"; /interface monitor-traffic [/interface find name=$INTMon] once do={ :local tx (tx-bits-per-second / 1024); :local rx (rx-bits-per-second / 1024); :log warning "Live Monitor RX = $rx kbps TX = $tx kbps"; } # hanya untuk menampilkan rxtx saat ini ############################################################### :log warning "Total RX = $RXGB GB / $RXMB MB / $RXTot Bytes"; :log warning "Total TX = $TXGB GB / $TXMB MB / $TXTot Bytes"; :log warning "Total (RX+TX) = $RXTXGB GB / $RXTXMB MB / $RXTX Bytes"; :local percent ($RXTXGB*100 / $TOTQuota); :log error "Used Quota on This Month = $RXTXGB GB = $percent% from $TOTQuota GB"; :log warning "###############################################"; # Tampilkan Info pada LOG Mikrotik ################################################################ :local varDate; :local varDay; :set varDate [/system clock get date]; :set varDay [:pick $varDate 4 6]; :if ($varDay = "29") do={ # jika har ini tanggal 29 aktfikan RESET-RXTX /system scheduler enable [/system scheduler find name="RESET-RXTX"]; } ################################################################
dan terakhir ganti isi file Scheduler BANDWIDTH-MONITORING dengan script dibawah ini
################################################################ # Script by Agus Ramadhani # fb.com/buananet.pangkalanbun # http://www.o-om.com # SCRIPT MIKROTIK BANDWIDTH MONITORING # Version 1.0 ################################################################ :local INTMon WAN-WARNET; # silahkan ganti dengan interface (ether) yang ingin dipantau :local RXByteCur [/interface get $INTMon rx-byte]; # Mengambil nilai RX-Byte saat ini pada interface terpilih ################################################################ :local RXByteCount [/system scheduler get RXByteCur.log on-event]; # Mengambil nilai RX-byte dalam file log RXByteCur ################################################################ :local RXByte [/system scheduler get RXByte.log on-event]; # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte ################################################################ :local TXByteCur [/interface get $INTMon tx-byte]; # Mengambil nilai TX-Byte saat ini pada interface terpilih ################################################################ :local TXByteCount [/system scheduler get TXByteCur.log on-event]; # Mengambil nilai TX-Byte saat ini dalam file log TXByteCur ################################################################ :local TXByte [/system scheduler get TXByte.log on-event]; # Mengambil nilai TX-Byte saat ini dalam file Log TXByte ################################################################ :local ifReboot 0; # kita perlu mengetahui apakah router reboot dengan memberi flag 0 ################################################################ :if ($RXByteCur>=$RXByteCount) do={} else={:set $ifReboot ($ifReboot+1);} :if ($TXByteCur>=$TXByteCount) do={} else={:set $ifReboot ($ifReboot+1);} # Tandai jika nilai RXTX-Byte saat ini lebih besar dari RXTX-Byte pada log ################################################################ :if ($ifReboot>=1) do={ # Cek Jika Router Rebbot ################################################################ :set $RXByte ($RXByte+$RXByteCount); /system scheduler set RXByte.log comment=$RXByte on-event=$RXByte # jika komputer reboot jumlahkan total RX-Byte ################################################################ :set $TXByte ($TXByte+$TXByteCount); /system scheduler set TXByte.log comment=$TXByte on-event=$TXByte } else={ # jika komputer reboot jumlahkan total TX-Byte ################################################################ } :set RXByteCount ($RXByteCur); /system scheduler set RXByteCur.log comment=$RXByteCount on-event=$RXByteCount # Perbaharui nilai RX-Byte saat ini pada file log RXByteCur ################################################################ :set TXByteCount ($TXByteCur); /system scheduler set TXByteCur.log comment=$TXByteCount on-event=$TXByteCount # Perbaharui nilai TX-Byte saat ini pada file log TXByteCur ################################################################
Sekarang kita bisa mengubah masing-masing waktu antara monitoring dan View log agar tidak jalan bersamaan
Jika mau menampilkan info monitoring di system note terminal
Pertama tambah satu scheduler dengan nama VIEW-LOG-NOTE
/system scheduler add interval="01:00:000" name="VIEW-LOG-NOTE" start-time=startup
Kemudian copy-paste Script dibawah ini kedalam file scheduler VIEW-LOG-NOTE
################################################################ # Script by Agus Ramadhani # fb.com/buananet.pangkalanbun # http://www.o-om.com # SCRIPT MIKROTIK BANDWIDTH MONITORING # Version 1.0 ################################################################ :local INTMon WAN_WARNET; # silahkan ganti dengan interface (ether) yang ingin dipantau :local TOTQuota 500; # Set total quota dalam GB misalkan ISP hanya memberi hanya 500GB ################################################################ :local RXByteCur [/interface get $INTMon rx-byte]; # Mengambil nilai RX-Byte saat ini pada interface terpilih :local RXByte [/system scheduler get RXByte.log on-event]; # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte ################################################################ :local TXByteCur [/interface get $INTMon tx-byte]; # Mengambil nilai TX-Byte saat ini pada interface terpilih :local TXByte [/system scheduler get TXByte.log on-event]; # Mengambil nilai TX-Byte saat ini dalam file Log TXByte ################################################################ :local RXTot ($RXByte+$RXByteCur); :local RXMB ($RXTot / 1024 / 1024); :local RXGB ($RXTot / 1024 / 1024 / 1024); # kalkulasi nilai RX-BYTE dalam MB dan GB ################################################################ :local TXTot ($TXByte+$TXByteCur); :local TXMB ($TXTot / 1024 / 1024); :local TXGB ($TXTot / 1024 / 1024 / 1024); # kalkulasi nilai TX-BYTE dalam MB dan GB ################################################################ :local RXTX ($RXTot+$TXTot); :local RXTXMB ($RXMB+$TXMB); :local RXTXGB ($RXGB+$TXGB); # Total kalkulasi nilai Total RXTX ################################################################ :local percent ($RXTXGB*100 / $TOTQuota); :local logcontenttemp "" :local logcontent "" :set logcontenttemp "" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "#######################################################" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "BANDWIDTH MONITORING [ Router Identity: $[/system identity get name] ]" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "#######################################################" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "Interface Monitoring For: $INTMon" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "Total RX = $RXGB GB / $RXMB MB / $RXTot Bytes" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "Total TX = $TXGB GB / $TXMB MB / $TXTot Bytes" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "Total (RX+TX) = $RXTXGB GB / $RXTXMB MB / $RXTX Bytes" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "Used Quota on This Month $RXTXGB GB = $percent% from $TOTQuota GB" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :set logcontenttemp "#######################################################" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") :if ($RXTXGB >= $TOTQuota) do={ :set logcontenttemp "Your Quota is OVERLOAD :(" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") } else={ :set logcontenttemp "Your Quota is SAVE :)" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") } :set logcontenttemp "" :set logcontent ("$logcontent" ."$logcontenttemp" ."\n") /system note set note=$logcontent # Tampilkan Info pada LOG Mikrotik ################################################################ :local varDate; :local varDay; :set varDate [/system clock get date]; :set varDay [:pick $varDate 4 6]; :if ($varDay = "29") do={ # jika har ini tanggal 29 aktfikan RESET-RXTX /system scheduler enable [/system scheduler find name="RESET-RXTX"]; }
selamat mencoba, semoga sukses :)
BERI KOMENTAR
Maaf untuk sementara waktu komentar di blog ini di nonaftifkan.