Separate monitoring and move to 60s interval

Removes the dependency of the monitoring subsystem from the node
keepalives, and runs them at a 60s interval to avoid excessive backups
if a plugin takes too long.

Adds its own logs and related items as required.

Finally adds a new required argument to the run() of plugins, the
coordinator state, which can be used by a plugin to determine actions
based on whether the node is a primary, secondary, or non-coordinator.
This commit is contained in:
2023-09-15 16:27:41 -04:00
parent 79d871ebc6
commit 40b7d68853
12 changed files with 113 additions and 24 deletions

View File

@ -60,9 +60,11 @@ class MonitoringPluginScript(MonitoringPlugin):
pass
def run(self):
def run(self, coordinator_state=None):
"""
run(): Perform the check actions and return a PluginResult object
The {coordinator_state} can be used to check if this is a "primary" coordinator, "secondary" coordinator, or "hypervisor" (non-coordinator)
"""
# Run any imports first