1FRR-WATCHFRR(8) FRR FRR-WATCHFRR(8)
2
3
4
6 frr-watchfrr - a program to monitor the status of FRRouting daemons
7
9 watchfrr [-h] [-v]
10
11 watchfrr [option...] <daemon>...
12
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
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
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
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
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
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
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
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)