File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / doc / watchquagga.8
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Oct 9 09:22:28 2012 UTC (11 years, 8 months ago) by misho
Branches: quagga, MAIN
CVS tags: v1_0_20160315, v0_99_22p0, v0_99_22, v0_99_21, HEAD
quagga

    1: .\" This file was originally generated by help2man 1.36.
    2: .TH WATCHQUAGGA 8 "July 2010"
    3: .SH NAME
    4: watchquagga \- a program to monitor the status of quagga daemons
    5: .SH SYNOPSIS
    6: .B watchquagga
    7: .RI [ option ...]
    8: .IR daemon ...
    9: .br
   10: .B watchquagga
   11: .BR \-h " | " \-v
   12: .SH DESCRIPTION
   13: .B watchquagga
   14: is a watchdog program that monitors the status of supplied quagga
   15: .IR daemon s
   16: and tries to restart them in case they become unresponsive or shut down.
   17: .PP
   18: To determine whether a daemon is running, it tries to connect to the
   19: daemon's VTY UNIX stream socket, and send echo commands to ensure the
   20: daemon responds. When the daemon crashes, EOF is received from the socket,
   21: so that watchquagga can react immediately.
   22: .PP
   23: This program can run in one of the following 5 modes:
   24: .TP
   25: .B Mode 0: monitor
   26: In this mode, the program serves as a monitor and reports status changes.
   27: .IP
   28: Example usage: watchquagga \-d zebra ospfd bgpd
   29: .TP
   30: .B Mode 1: global restart
   31: In this mode, whenever a daemon hangs or crashes, the given command is used
   32: to restart all watched daemons.
   33: .IP
   34: Example usage: watchquagga \-dz \e
   35: .br
   36: -R '/sbin/service zebra restart; /sbin/service ospfd restart' \e
   37: .br
   38: zebra ospfd
   39: .TP
   40: .B Mode 2: individual daemon restart
   41: In this mode, whenever a single daemon hangs or crashes, the given command
   42: is used to restart this daemon only.
   43: .IP
   44: Example usage: watchquagga \-dz \-r '/sbin/service %s restart' \e
   45: .br
   46: zebra ospfd bgpd
   47: .TP
   48: .B Mode 3: phased zebra restart
   49: In this mode, whenever a single daemon hangs or crashes, the given command
   50: is used to restart this daemon only. The only exception is the zebra
   51: daemon; in this case, the following steps are taken: (1) all other daemons
   52: are stopped, (2) zebra is restarted, and (3) other daemons are started
   53: again.
   54: .IP
   55: Example usage: watchquagga \-adz \-r '/sbin/service %s restart' \e
   56: .br
   57: \-s '/sbin/service %s start' \e
   58: .br
   59: \-k '/sbin/service %s stop' zebra ospfd bgpd
   60: .TP
   61: .B Mode 4: phased global restart for any failure
   62: In this mode, whenever a single daemon hangs or crashes, the following
   63: steps are taken: (1) all other daemons are stopped, (2) zebra is restarted,
   64: and (3) other daemons are started again.
   65: .IP
   66: Example usage: watchquagga \-Adz \-r '/sbin/service %s restart' \e
   67: .br
   68: \-s '/sbin/service %s start' \e
   69: .br
   70: \-k '/sbin/service %s stop' zebra ospfd bgpd
   71: .PP
   72: Important: It is believed that mode 2 (individual daemon restart) is not
   73: safe, and mode 3 (phased zebra restart) may not be safe with certain
   74: routing daemons.
   75: .PP
   76: In order to avoid restarting the daemons in quick succession, you can
   77: supply the
   78: .B \-m
   79: and
   80: .B \-M
   81: options to set the minimum and maximum delay between the restart commands.
   82: The minimum restart delay is recalculated each time a restart is attempted.
   83: If the time since the last restart attempt exceeds twice the value of
   84: .BR  \-M ,
   85: the restart delay is set to the value of
   86: .BR \-m ,
   87: otherwise the interval is doubled (but capped at the value of
   88: .BR \-M ).
   89: .SH OPTIONS
   90: .TP
   91: .BR \-d ", " \-\-daemon
   92: Run in daemon mode. When supplied, error messages are sent to Syslog
   93: instead of standard output (stdout).
   94: .TP
   95: .BI \-S " directory" "\fR, \fB\-\-statedir " directory
   96: Set the VTY socket
   97: .I directory
   98: (the default value is "/var/run/quagga").
   99: .TP
  100: .BR \-e ", " \-\-no\-echo
  101: Do not ping the daemons to test whether they respond. This option is
  102: necessary if one or more daemons do not support the echo command.
  103: .TP
  104: .BI \-l " level" "\fR, \fB\-\-loglevel " level
  105: Set the logging
  106: .I level
  107: (the default value is "6"). The value should range from 0 (LOG_EMERG) to 7
  108: (LOG_DEBUG), but higher number can be supplied if extra debugging messages
  109: are required.
  110: .TP
  111: .BI \-m " number" "\fR, \fB\-\-min\-restart\-interval " number
  112: Set the minimum
  113: .I number
  114: of seconds to wait between invocations of the daemon restart commands (the
  115: default value is "60").
  116: .TP
  117: .BI \-M " number" "\fR, \fB\-\-max\-restart\-interval " number
  118: Set the maximum
  119: .I number
  120: of seconds to wait between invocations of the daemon restart commands (the
  121: default value is "600").
  122: .TP
  123: .BI \-i " number" "\fR, \fB\-\-interval " number
  124: Set the status polling interval in seconds (the default value is "5").
  125: .TP
  126: .BI \-t " number" "\fR, \fB\-\-timeout " number
  127: Set the unresponsiveness timeout in seconds (the default value is "10").
  128: .TP
  129: .BI \-T " number" "\fR, \fB\-\-restart\-timeout " number
  130: Set the restart (kill) timeout in seconds (the default value is "20"). If
  131: any background jobs are still running after this period has elapsed, they
  132: will be killed.
  133: .TP
  134: .BI \-r " command" "\fR, \fB\-\-restart " command
  135: Supply a Bourne shell
  136: .I command
  137: to restart a single daemon. The command string should contain the '%s'
  138: placeholder to be substituted with the daemon name.
  139: .IP
  140: Note that
  141: .B \-r
  142: and
  143: .B \-R
  144: options are not compatible.
  145: .TP
  146: .BI \-s " command" "\fR, \fB\-\-start\-command " command
  147: Supply a Bourne shell
  148: .I command
  149: to start a single daemon. The command string should contain the '%s'
  150: placeholder to be substituted with the daemon name.
  151: .TP
  152: .BI \-k " command" "\fR, \fB\-\-kill\-command " command
  153: Supply a Bourne shell
  154: .I command
  155: to stop a single daemon. The command string should contain the '%s'
  156: placeholder to be substituted with the daemon name.
  157: .TP
  158: .BR \-R ", " \-\-restart\-all
  159: When one or more daemons are shut down, try to restart them using the
  160: Bourne shell command supplied on the command line.
  161: .IP
  162: Note that
  163: .B \-r
  164: and
  165: .B \-R
  166: options are not compatible.
  167: .TP
  168: .BR \-z ", " \-\-unresponsive\-restart
  169: When a daemon is in an unresponsive state, treat it as being shut down for
  170: the restart purposes.
  171: .TP
  172: .BR \-a ", " \-\-all\-restart
  173: When zebra hangs or crashes, restart all daemons taking the following
  174: steps: (1) stop all other daemons, (2) restart zebra, and (3) start other
  175: daemons again.
  176: .IP
  177: Note that this option also requires
  178: .BR \-r ,
  179: .BR \-s ,
  180: and
  181: .B \-k
  182: options to be specified.
  183: .TP
  184: .BR \-A ", " \-\-always\-all\-restart
  185: When any daemon (i.e., not just zebra) hangs or crashes, restart all
  186: daemons taking the following steps: (1) stop all other daemons, (2) restart
  187: zebra, and (3) start other daemons again.
  188: .IP
  189: Note that this option also requires
  190: .BR \-r ,
  191: .BR \-s ,
  192: and
  193: .B \-k
  194: options to be specified.
  195: .TP
  196: .BI \-p " filename" "\fR, \fB\-\-pid\-file " filename
  197: Set the process identifier
  198: .I filename
  199: (the default value is "/var/run/quagga/watchquagga.pid").
  200: .TP
  201: .BI \-b " string" "\fR, \fB\-\-blank\-string " string
  202: When the supplied
  203: .I string
  204: is found in any of the command line option arguments (i.e.,
  205: .BR \-r ,
  206: .BR \-s ,
  207: .BR \-k ,
  208: or
  209: .BR \-R ),
  210: replace it with a space.
  211: .IP
  212: This is an ugly hack to circumvent problems with passing the command line
  213: arguments containing embedded spaces.
  214: .TP
  215: .BR \-v ", " \-\-version
  216: Display the version information and exit.
  217: .TP
  218: .BR \-h ", " \-\-help
  219: Display the usage information and exit.
  220: .SH SEE ALSO
  221: .BR zebra (8),
  222: .BR bgpd (8),
  223: .BR isisd (8),
  224: .BR ospfd (8),
  225: .BR ospf6d (8),
  226: .BR ripd (8),
  227: .BR ripngd (8)
  228: .PP
  229: See the project homepage at <http://www.quagga.net/>.
  230: .SH AUTHORS
  231: Copyright 2004 Andrew J. Schorr

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>