Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################
- # Script by Bocah_Strez
- # SCRIPT MIKROTIK BANDWIDTH MONITORING
- ################################################################
- :local INTMonWAN1 ether1_WAN1;
- :local INTMonWAN2 ether1_WAN2;
- :local INTMonWAN3 ether1_WAN3;
- # silahkan ganti dengan interface (ether) yang ingin dipantau
- :local TOTQuotaWAN1 500;
- :local TOTQuotaWAN2 500;
- :local TOTQuotaWAN3 500;
- # Set total quota dalam GB misalkan ISP hanya memberi hanya 500GB
- ################################################################
- :local RXByteCurWAN1 [/interface get $INTMonWAN1 rx-byte];
- :local RXByteCurWAN2 [/interface get $INTMonWAN2 rx-byte];
- :local RXByteCurWAN3 [/interface get $INTMonWAN3 rx-byte];
- # Mengambil nilai RX-Byte saat ini pada interface terpilih
- :local RXByteWAN1 [/system scheduler get RXByteWAN1.log on-event];
- :local RXByteWAN2 [/system scheduler get RXByteWAN2.log on-event];
- :local RXByteWAN3 [/system scheduler get RXByteWAN3.log on-event];
- # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte
- ################################################################
- :local TXByteCurWAN1 [/interface get $INTMonWAN1 tx-byte];
- :local TXByteCurWAN2 [/interface get $INTMonWAN2 tx-byte];
- :local TXByteCurWAN3 [/interface get $INTMonWAN3 tx-byte];
- # Mengambil nilai TX-Byte saat ini pada interface terpilih
- :local TXByteWAN1 [/system scheduler get TXByteWAN1.log on-event];
- :local TXByteWAN2 [/system scheduler get TXByteWAN2.log on-event];
- :local TXByteWAN3 [/system scheduler get TXByteWAN3.log on-event];
- # Mengambil nilai TX-Byte saat ini dalam file Log TXByte
- ################################################################
- :local RXTotWAN1 ($RXByteWAN1+$RXByteCurWAN1);
- :local RXTotWAN2 ($RXByteWAN2+$RXByteCurWAN2);
- :local RXTotWAN3 ($RXByteWAN3+$RXByteCurWAN3);
- :local RXMBWAN1 ($RXTotWAN1 / 1024 / 1024);
- :local RXMBWAN2 ($RXTotWAN2 / 1024 / 1024);
- :local RXMBWAN3 ($RXTotWAN3 / 1024 / 1024);
- :local RXGBWAN1 ($RXTotWAN1 / 1024 / 1024 / 1024);
- :local RXGBWAN2 ($RXTotWAN2 / 1024 / 1024 / 1024);
- :local RXGBWAN3 ($RXTotWAN3 / 1024 / 1024 / 1024);
- # kalkulasi nilai RX-BYTE dalam MB dan GB
- ################################################################
- :local TXTotWAN1 ($TXByteWAN1+$TXByteCurWAN1);
- :local TXTotWAN2 ($TXByteWAN2+$TXByteCurWAN2);
- :local TXTotWAN3 ($TXByteWAN3+$TXByteCurWAN3);
- :local TXMBWAN1 ($TXTotWAN1 / 1024 / 1024);
- :local TXMBWAN2 ($TXTotWAN2 / 1024 / 1024);
- :local TXMBWAN3 ($TXTotWAN3 / 1024 / 1024);
- :local TXGBWAN1 ($TXTotWAN1 / 1024 / 1024 / 1024);
- :local TXGBWAN2 ($TXTotWAN2 / 1024 / 1024 / 1024);
- :local TXGBWAN3 ($TXTotWAN3 / 1024 / 1024 / 1024);
- ################################################################
- :local RXTXWAN1 ($RXTotWAN1+$TXTotWAN1);
- :local RXTXWAN2 ($RXTotWAN2+$TXTotWAN2);
- :local RXTXWAN3 ($RXTotWAN3+$TXTotWAN3);
- :local RXTXMBWAN1 ($RXMBWAN1+$TXMBWAN1);
- :local RXTXMBWAN2 ($RXMBWAN2+$TXMBWAN2);
- :local RXTXMBWAN3 ($RXMBWAN3+$TXMBWAN3);
- :local RXTXGBWAN1 ($RXGBWAN1+$TXGBWAN1);
- :local RXTXGBWAN2 ($RXGBWAN2+$TXGBWAN2);
- :local RXTXGBWAN3 ($RXGBWAN3+$TXGBWAN3);
- # Total kalkulasi nilai Total RXTX
- ################################################################
- :local percent ($RXTXGBWAN1*100 / $TOTQuotaWAN1);
- :local percent ($RXTXGBWAN2*100 / $TOTQuotaWAN2);
- :local percent ($RXTXGBWAN3*100 / $TOTQuotaWAN3);
- :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: $INTMonWAN1"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total RX = $RXGBWAN1 GB / $RXMBWAN1 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total TX = $TXGBWAN1 GB / $TXMBWAN1 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total (RX+TX) = $RXTXGBWAN1 GB / $RXTXMBWAN1 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Used Quota on This Month $RXTXGBWAN1 GB = $percent% from $TOTQuotaWAN1 GB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "#######################################################"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :if ($RXTXGBWAN1 >= $TOTQuotaWAN1) 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")
- :set logcontenttemp "Interface Monitoring For: $INTMonWAN2"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total RX = $RXGBWAN2 GB / $RXMBWAN2 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total TX = $TXGBWAN2 GB / $TXMBWAN2 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total (RX+TX) = $RXTXGBWAN2 GB / $RXTXMBWAN2 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Used Quota on This Month $RXTXGBWAN2 GB = $percent% from $TOTQuotaWAN2 GB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "#######################################################"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :if ($RXTXGBWAN2 >= $TOTQuotaWAN2) 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")
- :set logcontenttemp "Interface Monitoring For: $INTMonWAN3"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total RX = $RXGBWAN3 GB / $RXMBWAN3 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total TX = $TXGBWAN3 GB / $TXMBWAN3 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Total (RX+TX) = $RXTXGBWAN3 GB / $RXTXMBWAN3 MB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "Used Quota on This Month $RXTXGBWAN3 GB = $percent% from $TOTQuotaWAN3 GB"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :set logcontenttemp "#######################################################"
- :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
- :if ($RXTXGBWAN3 >= $TOTQuotaWAN3) 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 = "01") do={
- # jika har ini tanggal 01 aktfikan RESET-RXTX
- /system scheduler enable [/system scheduler find name="RESET-RXTX"];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement