|
|
| |
WATCHQUAGGA(8) |
FreeBSD System Manager's Manual |
WATCHQUAGGA(8) |
watchquagga - a program to monitor the status of quagga daemons
watchquagga [option...] daemon...
watchquagga -h | -v
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 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 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 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 certain
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 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, otherwise the interval is doubled (but capped
at the value of -M).
- -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
command 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 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.
- -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.
zebra(8), bgpd(8), isisd(8), ospfd(8),
ospf6d(8), ripd(8), ripngd(8)
See the project homepage at <http://www.quagga.net/>.
Copyright 2004 Andrew J. Schorr
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |