Pretty sure you'd need 70% or 90% capacity filled for it to spit out an
error.  Make the warning value something like 1 or 5 and run it to test.

Josh Luthman
Office: 937-552-2340
Direct: 937-552-2343
1100 Wayne St
Suite 1337
Troy, OH 45373


On Wed, Sep 19, 2012 at 5:16 PM, Ty Featherling <[email protected]>wrote:

> Ok new script added. Dumped the code in the source field. Left all
> permissions checked and gave it a name. It added it in the list but licking
> "Run Script" does nothing. Nothing in the log nor any indication is started
> anything.
>
> -Ty
>
> On Wed, Sep 19, 2012 at 4:04 PM, Josh Luthman
> <[email protected]>wrote:
>
> > I thought there was code above the actual script, sorry!
> >
> > You should use the GUI to make a new script. There are no proper breaks
> in
> > the email to make it easy in the terminal.
> >
> > Josh Luthman
> > Office: 937-552-2340
> > Direct: 937-552-2343
> > 1100 Wayne St
> > Suite 1337
> > Troy, OH 45373
> >
> >
> > On Wed, Sep 19, 2012 at 5:00 PM, Ty Featherling <[email protected]
> > >wrote:
> >
> > > Pasted it in.. looks like it cleared with no errors. Now what? I don't
> > see
> > > a new script or any indication of anything new in ip>pool or
> > > ip>dhcp-server.
> > >
> > > -Ty
> > >
> > > On Wed, Sep 19, 2012 at 3:37 PM, Josh Luthman
> > > <[email protected]>wrote:
> > >
> > > > Yep.  Put it in a terminal.  Sometimes browsers turn " into some
> weird
> > > > character...
> > > > On Sep 19, 2012 3:56 PM, "Ty Featherling" <[email protected]>
> > > wrote:
> > > >
> > > > > Ok, hold my hand here.. Just copy that text and paste it into a
> > > terminal
> > > > > windows, yes? Or do I create a script and paste it there? Be
> gentle,
> > > it's
> > > > > my first time.
> > > > >
> > > > > -Ty
> > > > >
> > > > > On Wed, Sep 19, 2012 at 1:45 PM, Kerry <[email protected]>
> wrote:
> > > > >
> > > > > > I use this script, schedule it to run however often you'd like.
> It
> > > > throws
> > > > > > a script error when it's above the thresholds in the script.
> > > > > > I have system logging set to log script errors to my syslog box
> > which
> > > > > > email-alerts us.
> > > > > > /system logging
> > > > > > add action=remote disabled=no prefix=DCHP-Server
> > topics=script,error
> > > > > >
> > > > > >
> > > > > >
> > > > > > # List stats for IP -> Pool
> > > > > > #
> > > > > > # criticalthreshold = output pool display in red if pool used is
> > > above
> > > > > > this %
> > > > > > # warnthreshold = output pool display in gold if pool used is
> above
> > > > this
> > > > > %
> > > > > >
> > > > > > :local criticalthreshold 90
> > > > > > :local warnthreshold 70
> > > > > >
> > > > > > # Internal processing below...
> > > > > > # ------------------------------**----
> > > > > > /ip pool {
> > > > > >    :local poolname
> > > > > >    :local pooladdresses
> > > > > >    :local poolused
> > > > > >    :local poolpercent
> > > > > >    :local minaddress
> > > > > >    :local maxaddress
> > > > > >    :local findindex
> > > > > >    :local tmpint
> > > > > >    :local maxindex
> > > > > >    :local line
> > > > > >
> > > > > >    :put ("IP Pool Statistics")
> > > > > >    :put ("------------------")
> > > > > >
> > > > > > # Iterate through IP Pools
> > > > > >    :foreach p in=[find] do={
> > > > > >
> > > > > >       :set poolname [get $p name]
> > > > > >       :set pooladdresses 0
> > > > > >       :set poolused 0
> > > > > >       :set line ""
> > > > > >
> > > > > >       :set line ("     " . $poolname)
> > > > > >
> > > > > > #   Iterate through current pool's IP ranges
> > > > > >       :foreach r in=[:toarray [get $p range]] do={
> > > > > >
> > > > > > #      Get min and max addresses
> > > > > >          :set findindex [:find [:tostr $r] "-"]
> > > > > >          :if ([:len $findindex] > 0) do={
> > > > > >             :set minaddress [:pick [:tostr $r] 0 $findindex]
> > > > > >             :set maxaddress [:pick [:tostr $r] ($findindex + 1)
> > [:len
> > > > > > [:tostr $r]]]
> > > > > >          } else={
> > > > > >             :set minaddress [:tostr $r]
> > > > > >             :set maxaddress [:tostr $r]
> > > > > >          }
> > > > > >
> > > > > > #       Convert to array of octets (replace '.' with ',')
> > > > > >          :for x from=0 to=([:len [:tostr $minaddress]] - 1) do={
> > > > > >             :if ([:pick [:tostr $minaddress] $x ($x + 1)] = ".")
> > do={
> > > > > >                :set minaddress ([:pick [:tostr $minaddress] 0
> $x] .
> > > ","
> > > > > . \
> > > > > >                                        [:pick [:tostr
> $minaddress]
> > > ($x
> > > > +
> > > > > > 1) [:len [:tostr $minaddress]]]) }
> > > > > >          }
> > > > > >          :for x from=0 to=([:len [:tostr $maxaddress]] - 1) do={
> > > > > >             :if ([:pick [:tostr $maxaddress] $x ($x + 1)] = ".")
> > do={
> > > > > >                :set maxaddress ([:pick [:tostr $maxaddress] 0
> $x] .
> > > ","
> > > > > . \
> > > > > >                                        [:pick [:tostr
> $maxaddress]
> > > ($x
> > > > +
> > > > > > 1) [:len [:tostr $maxaddress]]]) }
> > > > > >          }
> > > > > >
> > > > > > #      Calculate available addresses for current range
> > > > > >          :if ([:len [:toarray $minaddress]] = [:len [:toarray
> > > > > > $maxaddress]]) do={
> > > > > >             :set maxindex ([:len [:toarray $minaddress]] - 1)
> > > > > >             :for x from=$maxindex to=0 step=-1 do={
> > > > > > #             Calculate 256^($maxindex - $x)
> > > > > >                :set tmpint 1
> > > > > >                :if (($maxindex - $x) > 0) do={
> > > > > >                   :for y from=1 to=($maxindex - $x) do={ :set
> > tmpint
> > > > (256
> > > > > > * $tmpint) }
> > > > > >                }
> > > > > >                :set tmpint ($tmpint * ([:tonum [:pick [:toarray
> > > > > > $maxaddress] $x]] - \
> > > > > >                                                     [:tonum
> [:pick
> > > > > > [:toarray $minaddress] $x]]) )
> > > > > >                :set pooladdresses ($pooladdresses + $tmpint)
> > > > > > #         for x
> > > > > >             }
> > > > > >
> > > > > > #      if len array $minaddress = $maxaddress
> > > > > >          }
> > > > > >
> > > > > > #      Add current range to total pool's available addresses
> > > > > >          :set pooladdresses ($pooladdresses + 1)
> > > > > >
> > > > > > #   foreach r
> > > > > >       }
> > > > > >
> > > > > > #   Now, we have the available address for all ranges in this
> pool
> > > > > > #   Get the number of used addresses for this pool
> > > > > >       :set poolused [:len [used find pool=[:tostr $poolname]]]
> > > > > >       :set poolpercent (($poolused * 100) / $pooladdresses)
> > > > > >
> > > > > > #   Output information
> > > > > >       :set line ([:tostr $line] . "  [" . $poolused . "/" .
> > > > > $pooladdresses
> > > > > > . "]")
> > > > > >       :set line ([:tostr $line] . "  " . $poolpercent . " %
> used")
> > > > > >
> > > > > > #   Set colored display for used thresholds
> > > > > >       :if ( [:tonum $poolpercent] > $criticalthreshold ) do={
> > > > > >          :log error ("IP Pool " . $poolname . " is " .
> > $poolpercent .
> > > > "%
> > > > > > full" . " [" . $poolused . "/" . $pooladdresses . "]")
> > > > > >          :put ([:terminal style varname] . $line)
> > > > > >       } else={
> > > > > >          :if ( [:tonum $poolpercent] > $warnthreshold ) do={
> > > > > >             :log warning ("IP Pool " . $poolname . " is " .
> > > > $poolpercent
> > > > > .
> > > > > > "% full")
> > > > > >             :put ([:terminal style syntax-meta] . $line)
> > > > > >          } else={
> > > > > >             :put ([:terminal style none] . $line)
> > > > > >          }
> > > > > >       }
> > > > > >
> > > > > > # foreach p
> > > > > >    }
> > > > > > # /ip pool
> > > > > >
> > > > > > }
> > > > > > On 9/19/2012 11:33 AM, Ty Featherling wrote:
> > > > > >
> > > > > >> I have a routerboard acting as my primary DHCP server. I am also
> > > > adding
> > > > > >> routers to this large bridged network a tower at a time and each
> > new
> > > > > >> router
> > > > > >> holds DHCP pools for their segment as well.
> > > > > >>
> > > > > >> How can I keep track of how many addresses are being utilized
> per
> > > > pool?
> > > > > I
> > > > > >> know that "ip dhcp-server lease print" will show how many active
> > > > leases
> > > > > >> there are but I want to see the number of unused addresses in a
> > > pool.
> > > > I
> > > > > >> have to do math in my head each time to compare the number of
> > > > addresses
> > > > > in
> > > > > >> the pool to the number of active leases to get that number.
> > > > > >>
> > > > > >> Has anyone found or created a more elegant solution to this?
> > > > > >>
> > > > > >> -Ty
> > > > > >> -------------- next part --------------
> > > > > >> An HTML attachment was scrubbed...
> > > > > >> URL: <http://www.butchevans.com/**pipermail/mikrotik/**
> > > > > >> attachments/20120919/54ec5d39/**attachment.html<
> > > > >
> > > >
> > >
> >
> http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/54ec5d39/attachment.html
> > > > > >
> > > > > >> >
> > > > > >> ______________________________**_________________
> > > > > >> Mikrotik mailing list
> > > > > >> [email protected]
> > > > > >> http://www.butchevans.com/**mailman/listinfo/mikrotik<
> > > > > http://www.butchevans.com/mailman/listinfo/mikrotik>
> > > > > >>
> > > > > >> Visit http://blog.butchevans.com/ for tutorials related to
> > Mikrotik
> > > > > >> RouterOS
> > > > > >>
> > > > > >>
> > > > > >>
> > > > > >
> > > > > > ______________________________**_________________
> > > > > > Mikrotik mailing list
> > > > > > [email protected]
> > > > > > http://www.butchevans.com/**mailman/listinfo/mikrotik<
> > > > > http://www.butchevans.com/mailman/listinfo/mikrotik>
> > > > > >
> > > > > > Visit http://blog.butchevans.com/ for tutorials related to
> > Mikrotik
> > > > > > RouterOS
> > > > > >
> > > > > -------------- next part --------------
> > > > > An HTML attachment was scrubbed...
> > > > > URL: <
> > > > >
> > > >
> > >
> >
> http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/abf0ef50/attachment.html
> > > > > >
> > > > > _______________________________________________
> > > > > Mikrotik mailing list
> > > > > [email protected]
> > > > > http://www.butchevans.com/mailman/listinfo/mikrotik
> > > > >
> > > > > Visit http://blog.butchevans.com/ for tutorials related to
> Mikrotik
> > > > > RouterOS
> > > > >
> > > > -------------- next part --------------
> > > > An HTML attachment was scrubbed...
> > > > URL: <
> > > >
> > >
> >
> http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/45f5f7e4/attachment.html
> > > > >
> > > > _______________________________________________
> > > > Mikrotik mailing list
> > > > [email protected]
> > > > http://www.butchevans.com/mailman/listinfo/mikrotik
> > > >
> > > > Visit http://blog.butchevans.com/ for tutorials related to Mikrotik
> > > > RouterOS
> > > >
> > > -------------- next part --------------
> > > An HTML attachment was scrubbed...
> > > URL: <
> > >
> >
> http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/d4411d56/attachment.html
> > > >
> > > _______________________________________________
> > > Mikrotik mailing list
> > > [email protected]
> > > http://www.butchevans.com/mailman/listinfo/mikrotik
> > >
> > > Visit http://blog.butchevans.com/ for tutorials related to Mikrotik
> > > RouterOS
> > >
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
> >
> http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/efe00c84/attachment.html
> > >
> > _______________________________________________
> > Mikrotik mailing list
> > [email protected]
> > http://www.butchevans.com/mailman/listinfo/mikrotik
> >
> > Visit http://blog.butchevans.com/ for tutorials related to Mikrotik
> > RouterOS
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/80dc40f5/attachment.html
> >
> _______________________________________________
> Mikrotik mailing list
> [email protected]
> http://www.butchevans.com/mailman/listinfo/mikrotik
>
> Visit http://blog.butchevans.com/ for tutorials related to Mikrotik
> RouterOS
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://www.butchevans.com/pipermail/mikrotik/attachments/20120919/3f7ad5cd/attachment.html>
_______________________________________________
Mikrotik mailing list
[email protected]
http://www.butchevans.com/mailman/listinfo/mikrotik

Visit http://blog.butchevans.com/ for tutorials related to Mikrotik RouterOS

Reply via email to