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  unrespon-
       sive or shut down.

       To  determine  whether  a daemon	is running, it tries to	connect	to the
       daemon'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 com-
	      mand 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  ex-
	      ception  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
	      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

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

       In  order  to avoid restarting the daemons in quick succession, you can
       supply the -m and -M options to set the minimum and maximum  delay  be-
       tween  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, otherwise 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  op-
	      tion 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 pe-
	      riod has elapsed,	they will be killed.

       -r command, --restart command
	      Supply a Bourne shell command to restart a  single  daemon.  The
	      command string should contain the	'%s' placeholder to be substi-
	      tuted 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 com-
	      mand  string  should  contain the	'%s' placeholder to be substi-
	      tuted with the daemon name.

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

       -R, --restart-all
	      When one or more daemons are shut	down, try to restart them  us-
	      ing 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 fol-
	      lowing 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  dae-
	      mons, (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 op-
	      tion 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+14.3.quarterly>

home | help