Skip to content

Releases: dbernhard-0x7CD/simple-reaction-daemon

Release 0.0.8

04 Jan 20:07
Compare
Choose a tag to compare
  • Add option to influx to log to a backup file in case the database is unavailable
  • Calculate %downtime since startup if no ping ever succeded
  • Wait instead of shutting down when no default gateway was found (may happen if the service is started too early)
  • Fixed missing decimal places for pings greater than 99ms
  • Report targets which we stopped pinging
    • may happen if we're stuck on resolving a domain name
  • Shut down after pressing ctrl + c
  • Support for %sut (start uptime) placeholder
  • Loglevels are now per target
  • Report if there is a dependency loop
  • Influx now has a timeout (10s for connecting; in total 30s for the request to be processed by the server)
  • Influx: support for ipv6
  • Cache which replacements need to be done in placeholders (command.cmd, log.message, influx.linedata)
  • Calculate time taken for resolving hostnames (debug output)
  • down-new also supports delay
  • %sdt is now set when the first ping fails (if num_pings is greater than 1)

Release 0.0.7

09 Sep 23:29
Compare
Choose a tag to compare
  • Pings now follow period more closely (and no longer shift)
    • Previously some shift occured as we waited period time between pings (and did not include actions which may take some time)
  • timeout for the command action
  • action influx for inserting data into InfluxDB
  • %timestamp is replaced with the unix timestamp
  • Allow development without gateway
  • datetime_format (defined in srd.c) will replace %%ms (really double percentage sign) with the milliseconds of the current time
  • Fix no message when loglevel is invalid
  • Potential performance improvements
  • targets can now be IPv6 addresses
  • New setting header for action log (usefull for creating CSV files)

Release 0.0.6

05 Sep 21:57
Compare
Choose a tag to compare
  • Breaking: down-again, up-again renamed to down-new andup-new
  • Own ping implementation (running as root is no longer needed to ping)
    • We now use approximately 2.5 times less CPU time (userspace and kernel times)
  • %status placeholder for success or failed depending if the ping was answered or not
  • datetime_format (from srd.conf) is regarded when printing the current time in stdout
  • Event down-again which runs if a previous ping succeeded and now fails
  • Fixed potential very rare race condition when printing
  • Fix %lat_ms not always beeing replaced
  • Make datetime_format optional in srd.conf
  • up-new actions are triggered at startup
  • %uptime placeholder
  • Update README.md
  • Support %ip placeholder in log.path

Release 0.0.5

25 Aug 23:39
Compare
Choose a tag to compare
  • new ERROR loglevel (nothing logged regarding connections)
  • Fix free when using a reboot action
  • Added datetime_format as a configuration in srd.conf
  • Action log now supports user which sets the owner of the logfile (only on creation)
  • Added %downtime placeholder for the downtime in days, hours, minutes and seconds

Release 0.0.4

23 Jul 18:54
Compare
Choose a tag to compare
  • Fix some memory not getting deallocated
  • Fix host beeing reported as up due to a race condition when pinging
  • Do not stop service if we cannot create a ping object
  • New action: log to file (see README.md for documentation)
  • up-again variables: for %sdt (start downtime) and %now
    • available in log.message and command.cmd

Release 0.0.3

15 Jul 12:02
Compare
Choose a tag to compare

Changes in this release

  • Do not start if gateway IP cannot be determined
  • Do not start if a dependency is non-existent
  • systemd-service: run srd after network-online.target
  • configure num_pings (number of pings sent)
  • add configuration 'run_if' to actions to define when it is run
    • down, up, always, up-again
  • print latency in command with %lat_ms

Initial release

06 Jul 15:03
Compare
Choose a tag to compare

Initially supported features are:

  • Execute the following actions if a ping fails to a certain host for a given amount of time (See README.md#Configuration):
    • restart another systemd-service
    • restart the system
    • execute custom command as specific user