.\" Man page generated from reStructuredText. . .TH "WATCHFRR" "8" "Jan 07, 2020" "6.0.2" "FRR" .SH NAME watchfrr \- a program to monitor the status of FRRouting daemons . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SH SYNOPSIS .sp watchfrr [\-h] [\-v] .sp watchfrr [option...] ... .SH DESCRIPTION .sp watchfrr is a watchdog program that monitors the status of supplied frr daemons and tries to restart them in case they become unresponsive or shut down. .sp To determine whether a daemon is running, it tries to connect to the daemon\(aqs 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 watchfrr can react immediately. .sp 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). .SH OPTIONS .sp The following 3 options specify scripts that watchfrr uses to perform start/stop/restart actions. These options are mandatory unless the \-\-dry option is used: .INDENT 0.0 .TP .B \-s command, \-\-start\-command command Supply a Bourne shell command to start a single daemon. The command string should contain the \(aq%s\(aq placeholder to be sub‐ stituted with the daemon name. .UNINDENT .INDENT 0.0 .TP .B \-k command, \-\-kill\-command command Supply a Bourne shell command to stop a single daemon. The command string should contain the \(aq%s\(aq placeholder to be substituted with the daemon name. .UNINDENT .INDENT 0.0 .TP .B \-r command, \-\-restart command Supply a Bourne shell command to restart a single daemon. The command string should contain the \(aq%s\(aq placeholder to be substituted with the daemon name. .UNINDENT .sp Other options: .INDENT 0.0 .TP .B \-\-dry Run watchfrr in "dry\-run" mode, only monitoring the specified daemons but not performing any start/stop/restart actions. .UNINDENT .INDENT 0.0 .TP .B \-d, \-\-daemon Run in daemon mode. When supplied, error messages are sent to Syslog instead of standard output (stdout). .UNINDENT .INDENT 0.0 .TP .B \-S , \-\-statedir Set the VTY socket directory (the default value is "/var/run/frr"). .UNINDENT .INDENT 0.0 .TP .B \-l , \-\-loglevel 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. .UNINDENT .INDENT 0.0 .TP .B \-\-min\-restart\-interval Set the minimum number of seconds to wait between invocations of the daemon restart commands (the default value is "60"). .UNINDENT .INDENT 0.0 .TP .B \-\-max\-restart\-interval Set the maximum number of seconds to wait between invocations of the daemon restart commands (the default value is "600"). .UNINDENT .INDENT 0.0 .TP .B \-i , \-\-interval Set the status polling interval in seconds (the default value is "5"). .UNINDENT .INDENT 0.0 .TP .B \-t , \-\-timeout Set the unresponsiveness timeout in seconds (the default value is "10"). .UNINDENT .INDENT 0.0 .TP .B \-T , \-\-restart\-timeout 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. .UNINDENT .INDENT 0.0 .TP .B \-p , \-\-pid\-file Set the process identifier filename (the default value is "/var/run/frr/watchfrr\&.pid"). .UNINDENT .INDENT 0.0 .TP .B \-b , \-\-blank\-string When the supplied string is found in any of the command line option arguments (i.e., \-r, \-s, or \-k), replace it with a space. .sp This is an ugly hack to circumvent problems with passing the command line arguments containing embedded spaces. .UNINDENT .INDENT 0.0 .TP .B \-v, \-\-version Display the version information and exit. .UNINDENT .INDENT 0.0 .TP .B \-h, \-\-help Display the usage information and exit. .UNINDENT .SH PREVIOUS OPTIONS .sp Prior versions of watchfrr supported some additional options that no longer exist:: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C \-a, \-A, \-e, \-R, \-z .ft P .fi .UNINDENT .UNINDENT .sp The \fB\-a\fP, \fB\-A\fP and \fB\-R\fP options were used to select alternate monitoring modes that offered different patterns of restarting daemons. The "correct" mode (phased restart) is now the default. The \-e and \-z options used to disable some monitoring aspects, watchfrr now always has all monitoring features enabled. .sp Removing these options should result in correct operation, if it does not please file a bug report. .SH FILES .INDENT 0.0 .TP .B /usr/lib/frr/watchfrr The default location of the watchfrr binary. .TP .B /etc/frr/watchfrr\&.conf The default location of the watchfrr config file. .TP .B $(PWD)/watchfrr\&.log If the watchfrr process is configured to output logs to a file, then you will find this file in the directory where you started watchfrr\&. .UNINDENT .SH WARNING .sp This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 6.0.2 or the documentation available on the project website at \fI\%https://frrouting.org/\fP\&. .SH DIAGNOSTICS .sp The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details. .SH SEE ALSO .sp zebra(8), vtysh(1), ripd(8), ripngd(8), ospfd(8), ospf6d(8), bgpd(8), isisd(8), babeld(8), nhrpd(8), pimd(8), pbrd(8), ldpd(8), eigrpd(8), staticd(8), mtracebis(8) \fI\%https://frrouting.org/\fP .SH BUGS .sp FRR eats bugs for breakfast. If you have food for the maintainers, please email <\fI\%dev@lists.frrouting.org\fP>. .SH COPYRIGHT 2020, FRR .\" Generated by docutils manpage writer. .