Breaking changes: the
generic
script monitor has new syntax, the
status files have moved, and the format has changed. Also, the
default value forsafe-exit
in the .conf file has been changed.
Changes
-
Support for multiple watchdog devices added, issue #26
-
The format of
watchdogctl status
and/run/watchdogd/status
has
been changed to JSON and includes more information about the currently
running daemon and the capabilities of watchdog devices in use -
The
configure --with-$MONITOR=SEC
flag has been changed to not
take an argument (this was never used). To change the poll interval
of a system monitor, use the configuration file -
A new file system monitor:
fsmon /var { ... }
, multiple monitors,
fsmon /path
, are supported -
A new temperature monitor:
tempmon /path/to/sensor {...}
. It
supports multiple sensors, both thermal and hwmon type. See the
documentation for details -
The syntax for the generic monitor script has changed. This is a
breaking change, everyone must update. New syntax:generic /path/to/montor-script.sh { ... }
-
The generic scripts monitor now supports running multiple scripts
-
Documentation of the libwdog supervisor API by Andreas Helbech Kleist
-
API docs at https://codedocs.xyz/troglobit/watchdogd/wdog_8h.html
-
State file location changed from
/var/lib/
to/var/lib/misc/
.
This is the recommended location in the Linux FHS, and what most
systems use. Both the defaultwatchdogd.conf
and documentation has
been updated. Unless a file is specified by the user, the daemon will
automatically relocate to the new location at runtime. If the new
directory does not exist, the daemon will fall back to use the old
path, if it exists, issue #36 -
The default
watchdogd.conf
now enables reset reason by default.
This is a strong recommendation since it is then possible to trace
the reset cause also for system monitors -
Simplified README by splitting it into multiple files, some text even
moved entirely to man pages instead -
The status files cluttering up
/run
have been moved to their own
subdirectory,/run/watchdogd
. This includes the PID file, last boot
status, and the socket forwatchdogctl
. The latter remains the
recommended tool to query status and interact with the daemon -
The configure script flags for enabling system monitors have been
simplified. None of the monitors take an argument (poll seconds),
this because that is configured inwatchdogd.conf
Fixes
- Fix #28:
watchdogd
crash in case "Label" or "Reset date" field in
reset reason is empty. Found and fixed by Christian Theiss - Fix #30: replace Finit compile-time detection with runtime check, this
allows synchronized reboot usingwatchdogd
with Finit in Buildroot - Fix #39: generic monitoring script with runtime > 1 second cause
system to reboot. Found and fixed by Senthil Nathan Thangaraj - Fix #41: calling custom supervisor script cause
watchdogd
to disable
monitoring, regardless of script exit code. - Fix #43:
watchdogctl clear
, andwdog_reset_reason_clr()
API, does
not work. Regression introduced in v3.4. - The generic script plugin can now be disabled at runtime. Prior to
this release, it was not possible when once enabled. - The label (cause) of the system monitor forcing a reset is now saved in
the reset reason file. Previously only "forced reset" was the only
message, which without persistent logs did not say much.