The acknowledged flag gets removed by checkers when the state changes to
okay.
But if we acknowledge a check when it is okay the notification system
stops working.
This switches the internals of the moncheck instance to using the
monzero.Checker API. This way we can reuse it completely and also see if
it works properly.
These are the first components to interact with the database in a
predefined way to write a checker instance.
CheckExec serves as an example implementing the Executor interface.
Any time the state of the check changes, we need to refresh the column.
This will be used in the frontend. This way it is much faster than using
the notifications and also doesn't rely on the last of it being still
around.
It happend all the time, that connections were hanging in idle in
transaction state.
This was caused by a rollback stuck behind a sleep loop to wait for the
next bunch of checks to run.
This also replaces a Query() call with QueryRow, as we only expect a
single row and this cleans up the code a bit.
It was possible that a node was showing multiple times when it had more
than one check. That wasn't the purpose of that list.
Now each node only comes up once and its worst state is shown.
There was an issue with the select all in that clicking an input field
didn't trigger the marking as the event was not pushed through to the
underlying elements.
This commit adds a select all function to select all rows of a list to
mark them all.
This could be used to send a refresh to all these checks or acknowledge
them or whatever.
Also the referrer handling in checkAction() was moved to the start so
that even with an error the same thing happens.
As in #7 requested, it is now possible to select a row by clicking on
the row itself. This should make it much easier to select a larger
number of rows.
Somewhen in the last couple years, something called a referer policy was
introduced. This avoided the correct relocation after any action was
sent.
Now with the fix, the redirect properly works.
This adds the first basic listing of notifications to the check details.
No idea how many of them should be listed here, but having the list at
all for a start should be okay.
When a check is acknowledged, no more further notifications should be
sent. But for the notified system, it should be made clean, that it is
taken care of and no further actions need to be done, therefore send an
okay, even when the check isn't okay.
The result list should be ordered for the state when unhandled entries
should be returned. Else it is getting weird to figure out, which issue
is the most important to fix.
With some monitors, the view may be too wide to make out, which line
belongs to what. For that purpose, add a background color when the mouse
is hovering over a line.
This adds a detail view for a single check. The purpose is to view
notifications for this check alone and get the context information on
the node it belongs to, the command and settings.
The default worker count was set to 25, which might be too much
depending on the amount of cores available. Now make the default 25 and
let people decide on how many they want to use.
This is related to #6. The muting, enable and disable were not working
properly, because the date was not set when the check was updated.
With this comes also the first icon to represent the muted status.