GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  WATCHQUAGGA (8)

NAME

watchquagga - a program to monitor the status of quagga daemons

CONTENTS

Synopsis
Description
Options
See Also
Authors

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 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).

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 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.

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
Search for    or go to Top of page |  Section 8 |  Main Index


--> WATCHQUAGGA (8) July 2010

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.