1FRR-WATCHFRR(8)                       FRR                      FRR-WATCHFRR(8)
2
3
4

NAME

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

SYNOPSIS

9       watchfrr [-h] [-v]
10
11       watchfrr [option...] <daemon>...
12

DESCRIPTION

14       watchfrr is a watchdog program that monitors the status of supplied frr
15       daemons and tries to restart them in case they become  unresponsive  or
16       shut down.
17
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
21       socket, so that watchfrr can react immediately.
22
23       In order to avoid restarting the daemons in quick succession,  you  can
24       supply  the  -m  and  -M  options  to set the minimum and maximum delay
25       between the restart commands. The minimum restart delay is recalculated
26       each  time  a restart is attempted.  If the time since the last restart
27       attempt exceeds twice the value of -M, the restart delay is set to  the
28       value of -m, otherwise the interval is doubled (but capped at the value
29       of -M).
30

OPTIONS

32       --dry  Run watchfrr in "dry-run" mode, only  monitoring  the  specified
33              daemons but not performing any start/stop/restart actions.
34
35       -d, --daemon
36              Run  in  daemon  mode. When supplied, error messages are sent to
37              Syslog instead of standard output (stdout).
38
39       -S <directory>, --statedir <directory>
40              Set  the  VTY   socket   directory   (the   default   value   is
41              "/var/run/frr").
42
43       -l <level>, --loglevel <level>
44              Set  the  logging  level  (the  default value is "6"). The value
45              should range from 0 (LOG_EMERG) to  7  (LOG_DEBUG),  but  higher
46              number can be supplied if extra debugging messages are required.
47
48       --min-restart-interval <number>
49              Set the minimum number of seconds to wait between invocations of
50              the daemon restart commands (the default value is "60").
51
52       --max-restart-interval <number>
53              Set the maximum number of seconds to wait between invocations of
54              the daemon restart commands (the default value is "600").
55
56       -i <number>, --interval <number>
57              Set the status polling interval in seconds (the default value is
58              "5").
59
60       -t <number>, --timeout <number>
61              Set the unresponsiveness timeout in seconds (the  default  value
62              is "10").
63
64       -T <number>, --restart-timeout <number>
65              Set  the restart (kill) timeout in seconds (the default value is
66              "20"). If any background  jobs  are  still  running  after  this
67              period has elapsed, they will be killed.
68
69       -p <filename>, --pid-file <filename>
70              Set  the  process  identifier  filename  (the  default  value is
71              "/var/run/frr/watchfrr.pid").
72
73       -b <string>, --blank-string <string>
74              When the supplied string is found in any  of  the  command  line
75              option arguments (i.e., -r, -s, or -k), replace it with a space.
76
77              This  is  an  ugly  hack to circumvent problems with passing the
78              command line arguments containing embedded spaces.
79
80       -v, --version
81              Display the version information and exit.
82
83       -h, --help
84              Display the usage information and exit.
85
86       The following 3 options specify scripts that watchfrr uses  to  perform
87       start/stop/restart  actions.  Reasonable  default values are built into
88       watchfrr, so the use of these options should no longer be necessary:
89
90       -s command, --start-command command
91              Supply a Bourne shell command to start a single daemon. The com‐
92              mand  string  should  contain the '%s' placeholder to be substi‐
93              tuted with the daemon name.
94
95       -k command, --kill-command command
96              Supply a Bourne shell command to stop a single daemon. The  com‐
97              mand  string  should  contain the '%s' placeholder to be substi‐
98              tuted with the daemon name.
99
100       -r command, --restart command
101              Supply a Bourne shell command to restart a  single  daemon.  The
102              command string should contain the '%s' placeholder to be substi‐
103              tuted with the daemon name.
104

PREVIOUS OPTIONS

106       Prior versions of watchfrr supported some additional  options  that  no
107       longer exist::
108
109          -a, -A, -e, -R, -z
110
111       The  -a,  -A  and  -R  options were used to select alternate monitoring
112       modes that offered different patterns of restarting daemons. The  "cor‐
113       rect"  mode  (phased restart) is now the default. The -e and -z options
114       used to disable some monitoring aspects, watchfrr now  always  has  all
115       monitoring features enabled.
116
117       Removing  these  options should result in correct operation, if it does
118       not please file a bug report.
119

FILES

121       /usr/lib/frr/watchfrr
122              The default location of the watchfrr binary.
123
124       /etc/frr/watchfrr.conf
125              The default location of the watchfrr config file.
126
127       $(PWD)/watchfrr.log
128              If the watchfrr process is configured to output logs to a  file,
129              then  you will find this file in the directory where you started
130              watchfrr.
131

WARNING

133       This man page is intended to be a  quick  reference  for  command  line
134       options.  The definitive document is the info file frr 7.3 or the docu‐
135       mentation available on the project website at https://frrouting.org/.
136

DIAGNOSTICS

138       The daemon may log to standard output, to a VTY,  to  a  log  file,  or
139       through syslog to the system logs. FRR supports many debugging options,
140       see the Info file, web docs or source for details.
141

SEE ALSO

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

BUGS

149       FRR  eats  bugs  for  breakfast.  If you have food for the maintainers,
150       please email <dev@lists.frrouting.org>.
151
153       2020, FRR
154
155
156
157
1587.3                              Feb 19, 2020                  FRR-WATCHFRR(8)
Impressum