Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DHCPD-POOLS(1)			 User Commands			DHCPD-POOLS(1)

NAME
       dhcpd-pools - ISC dhcpd pools usage analysis

SYNOPSIS
       dhcpd-pools [--config file] [--leases file] [--sort nimcptTe]
		   [--reverse] [--format tHcxXjJ] [--mustach template]
		   [--output file] [--limit nr]	[--color when]
		   [--warning percent] [--critical percent]
		   [--warn-count number] [--crit-count number] [--snet-alarms]
		   [--minsize size] [--perfdata] [--version] [--help]

DESCRIPTION
       The  program  analyses ISC dhcpd	shared network and pool	usage and out-
       puts the	results	in a format selected by	user.

OUTPUT FIELDS
       shared net name
	      Name of the shared-network for the range.

       first ip
	      First IP in lease	pool range.

       last ip
	      Last IP in lease pool range.

       max    Number of	IPs which exist	in a pool, shared network or  all  to-
	      gether.

       cur    Number of	leases currently in use.

       percent
	      Percent of IPs currently in use compared to max.

       touch  Number  of IP's which appear in the lease	file, but who's	leases
	      have expired.  A touched IP is either expired or abandoned.  The
	      touched IP count is somewhat misleading when you try  to	deter-
	      mine  if	an  IP pool is big enough; it is a better indicator of
	      whether a	pool is	too large.

       t+c    The sum of Touched and Currently in-use leases.

       t+c perc
	      Percent of IPs either touched or currently in use,  compared  to
	      max.

       bu     Failover	pair  can allocate these addresses.  The count appears
	      only if there is failover	configuration.

       bu perc
	      Percent of addresses that	failover pair can allocate.  The  per-
	      cent appears only	if there is failover configuration.

OPTIONS
       -c, --config=FILE
	      Path  to	the  dhcpd.conf	 file.	 If the	dhcpd.conf has include
	      files they can be	analysed separately, that can be  useful  when
	      trying to	understand or monitor subset of	data.

       -l, --leases=FILE
	      Path to the dhcpd.leases file.

       -s, --sort=[nimcptTe]
	      Sort  ranges  by	chosen	fields as a sorting keys.  Keys	weight
	      from left	to right, i.e.,	if more	weighting keys are equal  next
	      one is used.  The	IP field is default sort key.

       -r, --reverse
	      Sort results in reverse order.

       -f, --format=[tHcxXjJ]
	      Output  format.	Text (t).  Full-html (H) page output.  In html
	      page critical and	warning	 thresholds  can  be  visualized  with
	      --color=always  option.  The (c) stands for comma-separated val-
	      ues.  Output format xml (x) is similar to	 the  dhcpstatus  Perl
	      module  output.  The extended xml	(X) format will	print ethernet
	      address details.	The (j)	will output in json format, which  can
	      be extended with (J) to include ethernet address.

	      The default format is text.

       --mustach=TEMPLATE
	      Output using mustach template file.  This	is useful when the na-
	      tive  output formats controlled with --format option do not pro-
	      vide what	you need.  See below example mustach template that  is
	      using  all  available  {{tags}}  to demonstrate what can be dis-
	      played and how.

	      /usr/local/bin/dhcpd-pools --config  /usr/local/share/doc/dhcpd-
	      pools/dhcpd.conf	     --leases	   /usr/local/share/doc/dhcpd-
	      pools/dhcpd.leases     --mustach	   /usr/local/share/doc/dhcpd-
	      pools/mustach.template

       -o, --output=FILE
	      File where output	is written.  Default is	stdout.

       -L, --limit=NR
	      The  NR  will  limit what	will be	printed.  Syntax is similar to
	      chmod(1) permission string.  The NR limit	string uses two	digits
	      which vary between 0 to 7.  The  first  digit  determines	 which
	      headers  to  display,  and the second digit determines which nu-
	      meric analysis tables to include in the output.	The  following
	      values  are  "OR'd"  together to create the desired output.  The
	      default is 77.

	      01   Print ranges
	      02   Print shared	networks
	      04   Print total summary
	      10   Print range header
	      20   Print shared	network	header
	      40   Print total summary header

	      The output limit	for  total  summary  has  special  meaning  in
	      --warning	and --critical alarming	context.  When the alarming is
	      in  use,	and total is not wanted	to be seen then	in the case of
	      alarming returning success nothing is printed.

       --color=when
	      Use yellow for warning, red for critical,	green  for  suppressed
	      by  --minsize  and  blue when --snet-alarms is the cause of sup-
	      pression or shared network does not have any ranges.   The  when
	      string  can  be  always,	never, or auto.	 Default is auto, that
	      uses colors when command is  running  in	interactive  terminal.
	      With  use	 of --warning or --critical coloring thresholds	can be
	      changed, but one must also use --format=text to avoid turning on
	      alarting mode.

       --skip=when
	      The when can be one of the  following:  ok,  warning,  critical,
	      minsize,	or  suppressed.	  The skipping criteria	is exact match
	      with colors in --color option.

       --warning=percent
	      Turn on alarm output format, and specify percentage number which
	      will cause an alarm.  If either a	range or shared	 network  will
	      exceed  warning level return value of the	command	is 1.  If only
	      range monitoring is needed one can use limit option for scoping,
	      for example -L10.	 To monitor  shared  network  only  the	 limit
	      would  be	 -L20.	 If warning percentage is not specified	it de-
	      faults to	80.  The  percent  argument  allows  fractions,	 e.g.,
	      88.8, to be used.

       --critical=percent
	      The option is similar to warning,	with exception of return value
	      which is 2.  If critical percentage is not specified it defaults
	      to 90.

       --warn-count=number
	      A	 number	of free	leases before alarm is raised.	When specified
	      both --warning percent and count number are required to  be  ex-
	      ceeded in	order to alarm criteria	being fulfilled.

	      This option is intended to be used in setup where	very large and
	      small  shared-networks  and  ranges co-exists.  In such environ-
	      ments percent based alarming can lead to either flood of	alarms
	      about  small ranges, or way too great overhead of	free addresses
	      in large shared-networks.	 Suggested usage is to set  percentage
	      to a level that makes small ranges to ring, and set the count to
	      match  level  when  an  enormous	shared-network is too few free
	      leases.

	      Defaults to 2^32,	that is	size of	entire IPv4 address space.

       --crit-count=number
	      Same as --warn-count, but	for critical alarms.

       --snet-alarms
	      Suppress range alarms that are part of shared networks.  Use  of
	      this  option will	keep alarm criteria applied to ranges that are
	      not part of shared-net along with	shared-net alarms.   This  op-
	      tion  may	 help reducing alarm noise for configurations that has
	      lots of small ranges in big shared-networks.

       --minsize=size
	      Ignore ranges and	shared networks	that are smaller or  equal  to
	      the  defined size.  This option is meaningful only in context of
	      alarming,	and will intended to suppress for example single  host
	      ranges.  By default this option is not in	use.

       -p, --perfdata
	      Print  additional	 performance  data,  like lease	count, touched
	      leases and backup	leases.	 This option  is  meaningful  only  in
	      context  of  alarming  and will print lots of data, if there are
	      many networks.  By default this option is	not in use.

       -A, --all-as-shared
	      Treat all	 stand-alone  subnets  as  shared-network  with	 named
	      formed from it's CIDR.  By default this option is	not in use for
	      backwards	compatibility.

       --ip-version=4|6
	      Force  command to	read configuration and leases files in IPv4 or
	      IPv6 mode.  Notice that when inputs do not match	with  what  is
	      forced  analysis	output	is garbage.  This option should	not be
	      necessary	to use,	and exists only	to allow debugging.

       -v, --version
	      Print version information	to standard output and	exit  success-
	      fully.

       -h, --help
	      Print help to standard output and	exit successfully.

EXAMPLES
       Print ranges header, and	analysis.
	      $	dhcpd-pools -L 11 -c dhcpd.conf	-l dhcpd.leases
	      Ranges:
	      shared net name [...]

       Print shared networks and totals, both headers and results
	      $	 dhcpd-pools  -L  66  -c dhcpd.conf -l dhcpd.leases shared net
	      name
	      [...]

       Alarming
	      $	dhcpd-pools -c	dhcpd.conf  -l	dhcpd.leases  --critical  80.1
	      --warning	75
	      CRITICAL:	 dhcpd-pools: Ranges; crit: 14 warn: 22	ok: 220	Shared
	      nets; crit: 1 warn: 0 ok:	4

	      $	dhcpd-pools -c dhcpd.conf -l dhcpd.leases -L 22	--critical  70
	      --warning	50
	      [no-output]
	      Suppress	printing  OK,  and make	alarm only to go off if	shared
	      networks exceed critial or warning levels.

FILES
       /usr/local/etc/dhcpd.conf
	      ISC dhcpd	configuration file.

       /var/db/dhcpd/dhcpd.leases
	      ISC dhcpd	lease file.

       /usr/local/share/doc/dhcpd-pools/prometheus.template
	      Prometheus text file collector mustach template.

AUTHORS
       Original	design by Sami Kerola.
       uthash by Troy D. Hanson.
       XML support by Dominic Germain, Sogetel inc.
       IPv6 support by Cheer Xiao.
       Mustache	templating support by Jos Bollo.

LICENSE
       The dhcpd-pools uses FreeBSD License, uthash uses BSD license, the mus-
       tache uses Apache License, and the gnulib modules are mostly,  but  not
       entirely, GPL.

REPORTING BUGS
       Report bugs to Sami Kerola <kerolasa@iki.fi>
       Home page <http://dhcpd-pools.sourceforge.net/>

SEE ALSO
       dhcpd.leases(5),	dhcpd.conf(5), chmod(1), <https://mustache.github.io/>

3.2				  2017-11-15			DHCPD-POOLS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=dhcpd-pools&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help