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

FreeBSD Manual Pages

  
 
  

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
       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 watchfrr	can react immediately.

       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  be-
       tween  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
       --dry  Run watchfrr in "dry-run"	mode, only  monitoring	the  specified
	      daemons 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  dae-
	      mons 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 man-
	      ner compatible with iproute2.  Network namespaces	 are  not  re-
	      moved 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 pe-
	      riod 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 op-
	      tion 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
       watchfrr, 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 com-
	      mand string should contain the '%s' placeholder  to  be  substi-
	      tuted with the daemon name.

       -k command, --kill-command command
	      Supply  a	Bourne shell command to	stop a single daemon. The com-
	      mand string should contain the '%s' placeholder  to  be  substi-
	      tuted with the daemon name.

       -r command, --restart command
	      Supply  a	 Bourne	 shell command to restart a single daemon. The
	      command string should contain the	'%s' placeholder to be substi-
	      tuted 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	 "cor-
       rect"  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  op-
       tions.  The definitive document is the info file	frr 9.1.3 or the docu-
       mentation 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				 Apr 12, 2025		       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+14.3.quarterly>

home | help