.\" This file was originally generated by help2man 1.36.
.TH WATCHQUAGGA 8 "July 2010"
.SH NAME
watchquagga \- a program to monitor the status of quagga daemons
.SH SYNOPSIS
.B watchquagga
.RI [ option ...]
.IR daemon ...
.br
.B watchquagga
.BR \-h " | " \-v
.SH DESCRIPTION
.B watchquagga
is a watchdog program that monitors the status of supplied quagga
.IR daemon s
and tries to restart them in case they become unresponsive or shut down.
.PP
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.
.PP
This program can run in one of the following 5 modes:
.TP
.B Mode 0: monitor
In this mode, the program serves as a monitor and reports status changes.
.IP
Example usage: watchquagga \-d zebra ospfd bgpd
.TP
.B Mode 1: global restart
In this mode, whenever a daemon hangs or crashes, the given command is used
to restart all watched daemons.
.IP
Example usage: watchquagga \-dz \e
.br
-R '/sbin/service zebra restart; /sbin/service ospfd restart' \e
.br
zebra ospfd
.TP
.B 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.
.IP
Example usage: watchquagga \-dz \-r '/sbin/service %s restart' \e
.br
zebra ospfd bgpd
.TP
.B 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.
.IP
Example usage: watchquagga \-adz \-r '/sbin/service %s restart' \e
.br
\-s '/sbin/service %s start' \e
.br
\-k '/sbin/service %s stop' zebra ospfd bgpd
.TP
.B 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.
.IP
Example usage: watchquagga \-Adz \-r '/sbin/service %s restart' \e
.br
\-s '/sbin/service %s start' \e
.br
\-k '/sbin/service %s stop' zebra ospfd bgpd
.PP
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
routing daemons.
.PP
In order to avoid restarting the daemons in quick succession, you can
supply the
.B \-m
and
.B \-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
.BR  \-M ,
the restart delay is set to the value of
.BR \-m ,
otherwise the interval is doubled (but capped at the value of
.BR \-M ).
.SH OPTIONS
.TP
.BR \-d ", " \-\-daemon
Run in daemon mode. When supplied, error messages are sent to Syslog
instead of standard output (stdout).
.TP
.BI \-S " directory" "\fR, \fB\-\-statedir " directory
Set the VTY socket
.I directory
(the default value is "/var/run/quagga").
.TP
.BR \-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.
.TP
.BI \-l " level" "\fR, \fB\-\-loglevel " level
Set the logging
.I 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.
.TP
.BI \-m " number" "\fR, \fB\-\-min\-restart\-interval " number
Set the minimum
.I number
of seconds to wait between invocations of the daemon restart commands (the
default value is "60").
.TP
.BI \-M " number" "\fR, \fB\-\-max\-restart\-interval " number
Set the maximum
.I number
of seconds to wait between invocations of the daemon restart commands (the
default value is "600").
.TP
.BI \-i " number" "\fR, \fB\-\-interval " number
Set the status polling interval in seconds (the default value is "5").
.TP
.BI \-t " number" "\fR, \fB\-\-timeout " number
Set the unresponsiveness timeout in seconds (the default value is "10").
.TP
.BI \-T " number" "\fR, \fB\-\-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.
.TP
.BI \-r " command" "\fR, \fB\-\-restart " command
Supply a Bourne shell
.I command
to restart a single daemon. The command string should contain the '%s'
placeholder to be substituted with the daemon name.
.IP
Note that
.B \-r
and
.B \-R
options are not compatible.
.TP
.BI \-s " command" "\fR, \fB\-\-start\-command " command
Supply a Bourne shell
.I command
to start a single daemon. The command string should contain the '%s'
placeholder to be substituted with the daemon name.
.TP
.BI \-k " command" "\fR, \fB\-\-kill\-command " command
Supply a Bourne shell
.I command
to stop a single daemon. The command string should contain the '%s'
placeholder to be substituted with the daemon name.
.TP
.BR \-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.
.IP
Note that
.B \-r
and
.B \-R
options are not compatible.
.TP
.BR \-z ", " \-\-unresponsive\-restart
When a daemon is in an unresponsive state, treat it as being shut down for
the restart purposes.
.TP
.BR \-a ", " \-\-all\-restart
When 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.
.IP
Note that this option also requires
.BR \-r ,
.BR \-s ,
and
.B \-k
options to be specified.
.TP
.BR \-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.
.IP
Note that this option also requires
.BR \-r ,
.BR \-s ,
and
.B \-k
options to be specified.
.TP
.BI \-p " filename" "\fR, \fB\-\-pid\-file " filename
Set the process identifier
.I filename
(the default value is "/var/run/quagga/watchquagga.pid").
.TP
.BI \-b " string" "\fR, \fB\-\-blank\-string " string
When the supplied
.I string
is found in any of the command line option arguments (i.e.,
.BR \-r ,
.BR \-s ,
.BR \-k ,
or
.BR \-R ),
replace it with a space.
.IP
This is an ugly hack to circumvent problems with passing the command line
arguments containing embedded spaces.
.TP
.BR \-v ", " \-\-version
Display the version information and exit.
.TP
.BR \-h ", " \-\-help
Display the usage information and exit.
.SH SEE ALSO
.BR zebra (8),
.BR bgpd (8),
.BR isisd (8),
.BR ospfd (8),
.BR ospf6d (8),
.BR ripd (8),
.BR ripngd (8)
.PP
See the project homepage at <http://www.quagga.net/>.
.SH AUTHORS
Copyright 2004 Andrew J. Schorr
