Advertisement
bocah_strez

mboh

Jan 4th, 2019
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.64 KB | None | 0 0
  1. ################################################################
  2. # Script by Bocah_Strez
  3. # SCRIPT MIKROTIK BANDWIDTH MONITORING
  4. ################################################################
  5. :local INTMonWAN1 ether1_WAN1;
  6. :local INTMonWAN2 ether1_WAN2;
  7. :local INTMonWAN3 ether1_WAN3;
  8. # silahkan ganti dengan interface (ether) yang ingin dipantau
  9. :local TOTQuotaWAN1 500;
  10. :local TOTQuotaWAN2 500;
  11. :local TOTQuotaWAN3 500;
  12. # Set total quota dalam GB misalkan ISP hanya memberi hanya 500GB
  13. ################################################################
  14. :local RXByteCurWAN1 [/interface get $INTMonWAN1 rx-byte];
  15. :local RXByteCurWAN2 [/interface get $INTMonWAN2 rx-byte];
  16. :local RXByteCurWAN3 [/interface get $INTMonWAN3 rx-byte];
  17. # Mengambil nilai RX-Byte saat ini pada interface terpilih
  18. :local RXByteWAN1 [/system scheduler get RXByteWAN1.log on-event];
  19. :local RXByteWAN2 [/system scheduler get RXByteWAN2.log on-event];
  20. :local RXByteWAN3 [/system scheduler get RXByteWAN3.log on-event];
  21. # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte
  22. ################################################################
  23. :local TXByteCurWAN1 [/interface get $INTMonWAN1 tx-byte];
  24. :local TXByteCurWAN2 [/interface get $INTMonWAN2 tx-byte];
  25. :local TXByteCurWAN3 [/interface get $INTMonWAN3 tx-byte];
  26. # Mengambil nilai TX-Byte saat ini pada interface terpilih
  27. :local TXByteWAN1 [/system scheduler get TXByteWAN1.log on-event];
  28. :local TXByteWAN2 [/system scheduler get TXByteWAN2.log on-event];
  29. :local TXByteWAN3 [/system scheduler get TXByteWAN3.log on-event];
  30. # Mengambil nilai TX-Byte saat ini dalam file Log TXByte
  31. ################################################################
  32. :local RXTotWAN1 ($RXByteWAN1+$RXByteCurWAN1);
  33. :local RXTotWAN2 ($RXByteWAN2+$RXByteCurWAN2);
  34. :local RXTotWAN3 ($RXByteWAN3+$RXByteCurWAN3);
  35. :local RXMBWAN1 ($RXTotWAN1 / 1024 / 1024);
  36. :local RXMBWAN2 ($RXTotWAN2 / 1024 / 1024);
  37. :local RXMBWAN3 ($RXTotWAN3 / 1024 / 1024);
  38. :local RXGBWAN1 ($RXTotWAN1 / 1024 / 1024 / 1024);
  39. :local RXGBWAN2 ($RXTotWAN2 / 1024 / 1024 / 1024);
  40. :local RXGBWAN3 ($RXTotWAN3 / 1024 / 1024 / 1024);
  41. # kalkulasi nilai RX-BYTE dalam MB dan GB
  42. ################################################################
  43. :local TXTotWAN1 ($TXByteWAN1+$TXByteCurWAN1);
  44. :local TXTotWAN2 ($TXByteWAN2+$TXByteCurWAN2);
  45. :local TXTotWAN3 ($TXByteWAN3+$TXByteCurWAN3);
  46. :local TXMBWAN1 ($TXTotWAN1 / 1024 / 1024);
  47. :local TXMBWAN2 ($TXTotWAN2 / 1024 / 1024);
  48. :local TXMBWAN3 ($TXTotWAN3 / 1024 / 1024);
  49. :local TXGBWAN1 ($TXTotWAN1 / 1024 / 1024 / 1024);
  50. :local TXGBWAN2 ($TXTotWAN2 / 1024 / 1024 / 1024);
  51. :local TXGBWAN3 ($TXTotWAN3 / 1024 / 1024 / 1024);
  52. ################################################################
  53. :local RXTXWAN1 ($RXTotWAN1+$TXTotWAN1);
  54. :local RXTXWAN2 ($RXTotWAN2+$TXTotWAN2);
  55. :local RXTXWAN3 ($RXTotWAN3+$TXTotWAN3);
  56. :local RXTXMBWAN1 ($RXMBWAN1+$TXMBWAN1);
  57. :local RXTXMBWAN2 ($RXMBWAN2+$TXMBWAN2);
  58. :local RXTXMBWAN3 ($RXMBWAN3+$TXMBWAN3);
  59. :local RXTXGBWAN1 ($RXGBWAN1+$TXGBWAN1);
  60. :local RXTXGBWAN2 ($RXGBWAN2+$TXGBWAN2);
  61. :local RXTXGBWAN3 ($RXGBWAN3+$TXGBWAN3);
  62. # Total kalkulasi nilai Total RXTX
  63. ################################################################
  64. :local percent ($RXTXGBWAN1*100 / $TOTQuotaWAN1);
  65. :local percent ($RXTXGBWAN2*100 / $TOTQuotaWAN2);
  66. :local percent ($RXTXGBWAN3*100 / $TOTQuotaWAN3);
  67. :local logcontenttemp ""
  68. :local logcontent ""
  69. :set logcontenttemp ""
  70. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  71. :set logcontenttemp "#######################################################"
  72. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  73. :set logcontenttemp "BANDWIDTH MONITORING [ Router Identity: $[/system identity get name] ]"
  74. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  75. :set logcontenttemp "#######################################################"
  76. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  77. :set logcontenttemp "Interface Monitoring For: $INTMonWAN1"
  78. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  79. :set logcontenttemp "Total RX = $RXGBWAN1 GB / $RXMBWAN1 MB"
  80. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  81. :set logcontenttemp "Total TX = $TXGBWAN1 GB / $TXMBWAN1 MB"
  82. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  83. :set logcontenttemp "Total (RX+TX) = $RXTXGBWAN1 GB / $RXTXMBWAN1 MB"
  84. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  85. :set logcontenttemp "Used Quota on This Month $RXTXGBWAN1 GB = $percent% from $TOTQuotaWAN1 GB"
  86. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  87. :set logcontenttemp "#######################################################"
  88. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  89. :if ($RXTXGBWAN1 >= $TOTQuotaWAN1) do={
  90. :set logcontenttemp "Your Quota is OVERLOAD :("
  91. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  92. } else={
  93. :set logcontenttemp "Your Quota is SAVE :)"
  94. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  95. }
  96. :set logcontenttemp "#######################################################"
  97. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  98. :set logcontenttemp "Interface Monitoring For: $INTMonWAN2"
  99. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  100. :set logcontenttemp "Total RX = $RXGBWAN2 GB / $RXMBWAN2 MB"
  101. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  102. :set logcontenttemp "Total TX = $TXGBWAN2 GB / $TXMBWAN2 MB"
  103. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  104. :set logcontenttemp "Total (RX+TX) = $RXTXGBWAN2 GB / $RXTXMBWAN2 MB"
  105. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  106. :set logcontenttemp "Used Quota on This Month $RXTXGBWAN2 GB = $percent% from $TOTQuotaWAN2 GB"
  107. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  108. :set logcontenttemp "#######################################################"
  109. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  110. :if ($RXTXGBWAN2 >= $TOTQuotaWAN2) do={
  111. :set logcontenttemp "Your Quota is OVERLOAD :("
  112. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  113. } else={
  114. :set logcontenttemp "Your Quota is SAVE :)"
  115. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  116. }
  117. :set logcontenttemp "#######################################################"
  118. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  119. :set logcontenttemp "Interface Monitoring For: $INTMonWAN3"
  120. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  121. :set logcontenttemp "Total RX = $RXGBWAN3 GB / $RXMBWAN3 MB"
  122. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  123. :set logcontenttemp "Total TX = $TXGBWAN3 GB / $TXMBWAN3 MB"
  124. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  125. :set logcontenttemp "Total (RX+TX) = $RXTXGBWAN3 GB / $RXTXMBWAN3 MB"
  126. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  127. :set logcontenttemp "Used Quota on This Month $RXTXGBWAN3 GB = $percent% from $TOTQuotaWAN3 GB"
  128. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  129. :set logcontenttemp "#######################################################"
  130. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  131. :if ($RXTXGBWAN3 >= $TOTQuotaWAN3) do={
  132. :set logcontenttemp "Your Quota is OVERLOAD :("
  133. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  134. } else={
  135. :set logcontenttemp "Your Quota is SAVE :)"
  136. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  137. }
  138. :set logcontenttemp ""
  139. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  140. /system note set note=$logcontent
  141. # Tampilkan Info pada LOG Mikrotik
  142. ################################################################
  143. :local varDate;
  144. :local varDay;
  145. :set varDate [/system clock get date];
  146. :set varDay [:pick $varDate 4 6];
  147. :if ($varDay = "01") do={
  148. # jika har ini tanggal 01 aktfikan RESET-RXTX
  149. /system scheduler enable [/system scheduler find name="RESET-RXTX"];
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement