Annotation of embedaddon/quagga/doc/watchquagga.8, revision 1.1.1.1

1.1       misho       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>