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

FreeBSD Manual Pages

  
 
  

home | help
WATCHQUAGGA(8)		     System Manager's Manual		  WATCHQUAGGA(8)

NAME
     watchquagga - a program to monitor the status of quagga daemons

SYNOPSIS
     watchquagga [option...]  daemon...
     watchquagga -h | -v

DESCRIPTION
     watchquagga  is  a  watchdog  program  that monitors the status of supplied
     quagga daemons and tries to restart them in case they  become  unresponsive
     or shut down.

     To  determine  whether a daemon is running, it tries to connect to the dae-
     mon's VTY UNIX stream socket, and send echo commands to ensure  the  daemon
     responds. When the daemon crashes, EOF is received from the socket, so that
     watchquagga can react immediately.

     This program can run in one of the following 5 modes:

     Mode 0: monitor
	    In	this  mode,  the  program serves as a monitor and reports status
	    changes.

	    Example usage: watchquagga -d zebra ospfd bgpd

     Mode 1: global restart
	    In this mode, whenever a daemon hangs or crashes, the given  command
	    is used to restart all watched daemons.

	    Example usage: watchquagga -dz \
	    -R '/sbin/service zebra restart; /sbin/service ospfd restart' \
	    zebra ospfd

     Mode 2: individual daemon restart
	    In	this  mode, whenever a single daemon hangs or crashes, the given
	    command is used to restart this daemon only.

	    Example usage: watchquagga -dz -r '/sbin/service %s restart' \
	    zebra ospfd bgpd

     Mode 3: phased zebra restart
	    In this mode, whenever a single daemon hangs or crashes,  the  given
	    command  is  used to restart this daemon only. The only exception is
	    the zebra daemon; in this case, the following steps are  taken:  (1)
	    all other daemons are stopped, (2) zebra is restarted, and (3) other
	    daemons are started again.

	    Example usage: watchquagga -adz -r '/sbin/service %s restart' \
	    -s '/sbin/service %s start' \
	    -k '/sbin/service %s stop' zebra ospfd bgpd

     Mode 4: phased global restart for any failure
	    In this mode, whenever a single daemon hangs or crashes, the follow-
	    ing steps are taken: (1) all other daemons are stopped, (2) zebra is
	    restarted, and (3) other daemons are started again.

	    Example usage: watchquagga -Adz -r '/sbin/service %s restart' \
	    -s '/sbin/service %s start' \
	    -k '/sbin/service %s stop' zebra ospfd bgpd

     Important:  It  is  believed that mode 2 (individual daemon restart) is not
     safe, and mode 3 (phased zebra restart) may not be safe with certain  rout-
     ing daemons.

     In  order to avoid restarting the daemons in quick succession, you can sup-
     ply the -m and -M options to set the minimum and maximum delay between  the
     restart  commands.   The  minimum restart delay is recalculated each time a
     restart is attempted.  If the time since the last restart	attempt  exceeds
     twice  the value of -M, the restart delay is set to the value of -m, other-
     wise the interval is doubled (but capped at the value of -M).

OPTIONS
     -d, --daemon
	    Run in daemon mode. When supplied, error messages are sent to Syslog
	    instead of standard output (stdout).

     -S directory, --statedir directory
	    Set   the	VTY   socket   directory   (the   default    value    is
	    "/var/run/quagga").

     -e, --no-echo
	    Do not ping the daemons to test whether they respond. This option is
	    necessary if one or more daemons do not support the echo command.

     -l level, --loglevel level
	    Set  the  logging level (the default value is "6"). The value should
	    range from 0 (LOG_EMERG) to 7 (LOG_DEBUG), but higher number can  be
	    supplied if extra debugging messages are required.

     -m number, --min-restart-interval number
	    Set the minimum number of seconds to wait between invocations of the
	    daemon restart commands (the default value is "60").

     -M number, --max-restart-interval number
	    Set the maximum number of seconds to wait between invocations of the
	    daemon restart commands (the default value is "600").

     -i number, --interval number
	    Set  the  status  polling  interval in seconds (the default value is
	    "5").

     -t number, --timeout number
	    Set the unresponsiveness timeout in seconds (the  default  value  is
	    "10").

     -T number, --restart-timeout number
	    Set  the  restart  (kill)  timeout	in seconds (the default value is
	    "20"). If any background jobs are still running  after  this  period
	    has elapsed, they will be killed.

     -r command, --restart command
	    Supply  a  Bourne shell command to restart a single daemon. The com-
	    mand string should contain the '%s' placeholder  to  be  substituted
	    with the daemon name.

	    Note that -r and -R options are not compatible.

     -s command, --start-command command
	    Supply  a Bourne shell command to start a single daemon. The command
	    string should contain the '%s' placeholder to  be  substituted  with
	    the daemon name.

     -k command, --kill-command command
	    Supply  a  Bourne shell command to stop a single daemon. The command
	    string should contain the '%s' placeholder to  be  substituted  with
	    the daemon name.

     -R, --restart-all
	    When  one  or  more daemons are shut down, try to restart them using
	    the Bourne shell command supplied on the command line.

	    Note that -r and -R options are not compatible.

     -z, --unresponsive-restart
	    When a daemon is in an unresponsive state, treat it  as  being  shut
	    down for the restart purposes.

     -a, --all-restart
	    When  zebra hangs or crashes, restart all daemons taking the follow-
	    ing steps: (1) stop all other daemons, (2) restart	zebra,	and  (3)
	    start other daemons again.

	    Note  that	this  option  also requires -r, -s, and -k options to be
	    specified.

     -A, --always-all-restart
	    When any daemon (i.e., not just zebra) hangs or crashes, restart all
	    daemons taking the following steps: (1) stop all other daemons,  (2)
	    restart zebra, and (3) start other daemons again.

	    Note  that	this  option  also requires -r, -s, and -k options to be
	    specified.

     -p filename, --pid-file filename
	    Set  the  process  identifier  filename  (the   default   value   is
	    "/var/run/quagga/watchquagga.pid").

     -b string, --blank-string string
	    When  the supplied string is found in any of the command line option
	    arguments (i.e., -r, -s, -k, or -R), replace it with a space.

	    This is an ugly hack to circumvent problems with passing the command
	    line arguments containing embedded spaces.

     -v, --version
	    Display the version information and exit.

     -h, --help
	    Display the usage information and exit.

SEE ALSO
     zebra(8), bgpd(8), isisd(8), ospfd(8), ospf6d(8), ripd(8), ripngd(8)

     See the project homepage at <http://www.quagga.net/>.

AUTHORS
     Copyright 2004 Andrew J. Schorr

				    July 2010			  WATCHQUAGGA(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=watchquagga&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help