Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
FRR-WATCHFRR(8) 		       FRR			 FRR-WATCHFRR(8)

NAME
     frr-watchfrr - a program to monitor the status of FRRouting daemons

SYNOPSIS
     watchfrr [-h] [-v]

     watchfrr [option...] <daemon>...

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

     To  determine  whether a daemon is running, it tries to connect to the dae-
     mon'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
     watchfrr can react immediately.

     In  order to avoid restarting the daemons in quick succession, you can sup-
     ply 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, other-
     wise the interval is doubled (but capped at the value of -M).

OPTIONS
     --dry  Run watchfrr in "dry-run" mode, only monitoring the  specified  dae-
	    mons but not performing any start/stop/restart actions.

     -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/frr").

     -N <name>, --pathspace <name>
	    Insert  the  given name into paths used by the FRR daemons.  This is
	    appended to the VTY socket directory and passed to the daemons which
	    also add it to their paths in /etc.

     --netns[=<name>]
	    (Linux only.)  Switch network  namespaces  when  starting  watchfrr.
	    The  name  defaults  to the value passed with -N (which it should be
	    used in conjunction with.)	If the name is not specified, the option
	    has no effect.

	    If the network namespace does not exist, it is created in  a  manner
	    compatible	with  iproute2.   Network  namespaces are not removed by
	    FRR, this must be done with "ip netns delete".

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

     --min-restart-interval <number>
	    Set the minimum number of seconds to wait between invocations of the
	    daemon restart commands (the default value is "60").

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

     -p <filename>, --pid-file <filename>
	    Set  the  process  identifier  filename  (the   default   value   is
	    "/var/run/frr/watchfrr.pid").

     -b <string>, --blank-string <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.

	    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.

     The following 3 options specify  scripts  that  watchfrr  uses  to  perform
     start/stop/restart actions. Reasonable default values are built into watch-
     frr, so the use of these options should no longer be necessary:

     -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 command, --restart command
	    Supply  a  Bourne shell command to restart a single daemon. The com-
	    mand string should contain the '%s' placeholder  to  be  substituted
	    with the daemon name.

PREVIOUS OPTIONS
     Prior versions of watchfrr supported some additional options that no longer
     exist::

	-a, -A, -e, -R, -z

     The  -a,  -A  and -R 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.

     Removing  these  options should result in correct operation, if it does not
     please file a bug report.

FILES
     /usr/lib/frr/watchfrr
	    The default location of the watchfrr binary.

     /etc/frr/watchfrr.conf
	    The default location of the watchfrr config file.

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

WARNING
     This man page is intended to be a quick reference for command line options.
     The definitive document is the info file frr  9.1.3  or  the  documentation
     available on the project website at https://frrouting.org/.

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

SEE ALSO
     frr-zebra(8),    vtysh(1),    frr-ripd(8),   frr-ripngd(8),   frr-ospfd(8),
     frr-ospf6d(8),  frr-bgpd(8),  frr-isisd(8),  frr-babeld(8),   frr-nhrpd(8),
     frr-pimd(8),   frr-pbrd(8),   frr-ldpd(8),  frr-eigrpd(8),  frr-staticd(8),
     frr-fabricd(8), frr-vrrpd(8), mtracebis(8) https://frrouting.org/

BUGS
     FRR eats bugs for breakfast. If you have food for the  maintainers,  please
     email <dev@lists.frrouting.org>.

COPYRIGHT
     2017, FRR

9.1.3				  Sep 01, 2026			 FRR-WATCHFRR(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=frr-watchfrr&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help