Advertisement
bocah_strez

bandwith monitorrrrrrrrrrrrrrr

Jan 4th, 2019
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.20 KB | None | 0 0
  1. Silahkan paste script ini di terminal mikrotik
  2.  
  3. /system scheduler add interval="00:00:00" name="RXByte.log" on-event="1" start-time="00:00:00"
  4. /system scheduler add interval="00:00:00" name="RXByteCur.log" on-event="1" start-time="00:00:00"
  5. /system scheduler add interval="00:00:00" name="TXByte.log" on-event="1" start-time="00:00:00"
  6. /system scheduler add interval="00:00:00" name="TXByteCur.log" on-event="1" start-time="00:00:00"
  7. /system scheduler add interval="00:01:00" name="RESET-RXTX" start-time=startup
  8. /system scheduler add interval="00:0:030" name="BANDWIDTH-MONITORING" start-time=startup
  9.  
  10.  
  11. Copy Paste Script reset bulanan ini dalam file Scheduler RESET-RXTX
  12.  
  13. ################################################################
  14. # Fungsi untuk reset Bulanan Setiap tanggal 1
  15. ################################################################
  16. :local varDate;
  17. :local varDay;
  18. :set varDate [/system clock get date];
  19. :set varDay [:pick $varDate 4 6];
  20. :if ($varDay = "01") do={
  21. # jika har ini tanggal 1 reset RXTX ke nilai awal
  22. /system scheduler set RXByte.log comment="1" on-event="1"
  23. /system scheduler set RXByteCur.log comment="1" on-event="1"
  24. /system scheduler set TXByte.log comment="1" on-event=$RXByteCount
  25. /system scheduler set TXByteCur.log comment="1" on-event="1"
  26. /system scheduler disable [/system scheduler find name="RESET-RXTX"]
  27. }
  28. ################################################################
  29.  
  30. Copy Paste Script Monitoring ini dalam file Scheduler BANDWIDTH-MONITORING
  31. jangan lupa ganti nama ether dalam script sesuai interface masing2 yang ingin dipantau
  32. :local INTMon WAN-WARNET;
  33.  
  34. jangan Lupa ganti total quota yang diberikan ISP masing2 dicontoh adalah 500GB
  35. :local TOTQuota 500;
  36.  
  37. ################################################################
  38. :local INTMon WAN-WARNET;
  39. # silahkan ganti dengan interface (ether) yang ingin dipantau
  40. :local RXByteCur [/interface get $INTMon rx-byte];
  41. # Mengambil nilai RX-Byte saat ini pada interface terpilih
  42. ################################################################
  43. :local RXByteCount [/system scheduler get RXByteCur.log on-event];
  44. # Mengambil nilai RX-byte dalam file log RXByteCur
  45. ################################################################
  46. :local RXByte [/system scheduler get RXByte.log on-event];
  47. # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte
  48. ################################################################
  49. :local TXByteCur [/interface get $INTMon tx-byte];
  50. # Mengambil nilai TX-Byte saat ini pada interface terpilih
  51. ################################################################
  52. :local TXByteCount [/system scheduler get TXByteCur.log on-event];
  53. # Mengambil nilai TX-Byte saat ini dalam file log TXByteCur
  54. ################################################################
  55. :local TXByte [/system scheduler get TXByte.log on-event];
  56. # Mengambil nilai TX-Byte saat ini dalam file Log TXByte
  57. ################################################################
  58. :local ifReboot 0;
  59. # kita perlu mengetahui apakah router reboot dengan memberi flag 0
  60. ################################################################
  61. :if ($RXByteCur>=$RXByteCount) do={} else={:set $ifReboot ($ifReboot+1);}
  62. :if ($TXByteCur>=$TXByteCount) do={} else={:set $ifReboot ($ifReboot+1);}
  63. # Tandai jika nilai RXTX-Byte saat ini lebih besar dari RXTX-Byte pada log
  64. ################################################################
  65. :if ($ifReboot>=1) do={
  66. # Cek Jika Router Rebbot
  67. ################################################################
  68. :set $RXByte ($RXByte+$RXByteCount);
  69. /system scheduler set RXByte.log comment=$RXByte on-event=$RXByte
  70. # jika komputer reboot jumlahkan total RX-Byte
  71. ################################################################
  72. :set $TXByte ($TXByte+$TXByteCount);
  73. /system scheduler set TXByte.log comment=$TXByte on-event=$TXByte
  74. } else={
  75. # jika komputer reboot jumlahkan total TX-Byte
  76. ################################################################
  77. }
  78. :set RXByteCount ($RXByteCur);
  79. /system scheduler set RXByteCur.log comment=$RXByteCount on-event=$RXByteCount
  80. # Perbaharui nilai RX-Byte saat ini pada file log RXByteCur
  81. ################################################################
  82. :set TXByteCount ($TXByteCur);
  83. /system scheduler set TXByteCur.log comment=$TXByteCount on-event=$TXByteCount
  84. # Perbaharui nilai TX-Byte saat ini pada file log TXByteCur
  85. ################################################################
  86.  
  87.  
  88.  
  89. Pertama tambah satu scheduler dengan nama VIEW-LOG-NOTE
  90. /system scheduler add interval="01:00:000" name="VIEW-LOG-NOTE" start-time=startup
  91.  
  92. Kemudian copy-paste Script dibawah ini kedalam file scheduler VIEW-LOG-NOTE
  93. ################################################################
  94. :local INTMon WAN_WARNET;
  95. # silahkan ganti dengan interface (ether) yang ingin dipantau
  96. :local TOTQuota 500;
  97. # Set total quota dalam GB misalkan ISP hanya memberi hanya 500GB
  98. ################################################################
  99. :local RXByteCur [/interface get $INTMon rx-byte];
  100. # Mengambil nilai RX-Byte saat ini pada interface terpilih
  101. :local RXByte [/system scheduler get RXByte.log on-event];
  102. # Mengambil nilai RX-Byte sebelumnya dalam file log RXByte
  103. ################################################################
  104. :local TXByteCur [/interface get $INTMon tx-byte];
  105. # Mengambil nilai TX-Byte saat ini pada interface terpilih
  106. :local TXByte [/system scheduler get TXByte.log on-event];
  107. # Mengambil nilai TX-Byte saat ini dalam file Log TXByte
  108. ################################################################
  109. :local RXTot ($RXByte+$RXByteCur);
  110. :local RXMB ($RXTot / 1024 / 1024);
  111. :local RXGB ($RXTot / 1024 / 1024 / 1024);
  112. # kalkulasi nilai RX-BYTE dalam MB dan GB
  113. ################################################################
  114. :local TXTot ($TXByte+$TXByteCur);
  115. :local TXMB ($TXTot / 1024 / 1024);
  116. :local TXGB ($TXTot / 1024 / 1024 / 1024);
  117. # kalkulasi nilai TX-BYTE dalam MB dan GB
  118. ################################################################
  119. :local RXTX ($RXTot+$TXTot);
  120. :local RXTXMB ($RXMB+$TXMB);
  121. :local RXTXGB ($RXGB+$TXGB);
  122. # Total kalkulasi nilai Total RXTX
  123. ################################################################
  124. :local percent ($RXTXGB*100 / $TOTQuota);
  125. :local logcontenttemp ""
  126. :local logcontent ""
  127. :set logcontenttemp ""
  128. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  129. :set logcontenttemp "#######################################################"
  130. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  131. :set logcontenttemp "BANDWIDTH MONITORING [ Router Identity: $[/system identity get name] ]"
  132. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  133. :set logcontenttemp "#######################################################"
  134. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  135. :set logcontenttemp "Interface Monitoring For: $INTMon"
  136. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  137. :set logcontenttemp "Total RX = $RXGB GB / $RXMB MB / $RXTot Bytes"
  138. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  139. :set logcontenttemp "Total TX = $TXGB GB / $TXMB MB / $TXTot Bytes"
  140. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  141. :set logcontenttemp "Total (RX+TX) = $RXTXGB GB / $RXTXMB MB / $RXTX Bytes"
  142. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  143. :set logcontenttemp "Used Quota on This Month $RXTXGB GB = $percent% from $TOTQuota GB"
  144. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  145. :set logcontenttemp "#######################################################"
  146. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  147. :if ($RXTXGB >= $TOTQuota) do={
  148. :set logcontenttemp "Your Quota is OVERLOAD :("
  149. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  150. } else={
  151. :set logcontenttemp "Your Quota is SAVE :)"
  152. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  153. }
  154. :set logcontenttemp ""
  155. :set logcontent ("$logcontent" ."$logcontenttemp" ."\n")
  156. /system note set note=$logcontent
  157. # Tampilkan Info pada LOG Mikrotik
  158. ################################################################
  159. :local varDate;
  160. :local varDay;
  161. :set varDate [/system clock get date];
  162. :set varDay [:pick $varDate 4 6];
  163. :if ($varDay = "29") do={
  164. # jika har ini tanggal 29 aktfikan RESET-RXTX
  165. /system scheduler enable [/system scheduler find name="RESET-RXTX"];
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement