Mikrotik: DHCP Pool usage
Diambil dari http://forum.mikrotik.com/viewtopic.php?f=9&t=19389
tested on 3.7
# WarnAt needs to be at what percentage you want to be warned you are running out of IP addresses. :local WarnAt 10 #Name of DHCP Pool you want to monitor :local DHCPPoolName dhcp_pool1 #Your Email to notify you when running out of available ip's :local Email my@email.com #Your mail server ip address :local EmailServer 0.0.0.0 #Declare Variable :local Total :foreach i in=[/ip pool get $DHCPPoolName ranges] do={ #Get the DHCP pool range and put into a string. :local range [:tostr $i] #Get the Start address of the range :local Start [:pick $range 0 [:find $range "-"]] #Get the End address of the range :local Stop [:pick $range ([:find $range "-"] + 1) 31] #Calculate how many IP's are in the Pool by subtracting the end address and the start address and add one. :local ip ($Stop - $Start +1 ) #Save the size of the pool to Total :set Total ($ip + $Total) } #Get the name of the Server that is using the Pool :local Server [/ip dhcp-server get [/ip dhcp-server find address-pool="$DHCPPoolName"] name] #Get the number of IP address's used in the pool :local Used [/ip dhcp-server lease print count-only where server=[/ip dhcp-server get [/ip dhcp-server find address-pool=$DHCPPoolName] name]] #Subtract used from total to get available :local Available ($Total - $Used) #Calculate percentage IP's available :local Perc (($Available * 100) / $Total) #Setup e-mail :local Subject ([/system identity get name] . " DHCP pool is at $Perc") :local Body ("Out of $Total addresses you have $Available available") #Send out Email when available ip's percentage is below or equal to warnat :if ($Perc <= $WarnAt) do={ /tool e-mail send to=$Email subject=$Subject body=$Body server=$EmailServer } :log info $Body