Age | Commit message (Collapse) | Author | Files | Lines |
|
lib/pq is out of maintenance for some time now, so switch to the newer
more active library. Looks like it finally stabilized after a long time.
|
|
This adds the possibility to filter for muted checks.
|
|
This fixes a bug in the generation of the SQL query, that was introduced
in 49dac92034f352698429ee1d78d4bfb070006693.
There were two issues with the generation:
1. the check ids were sometimes not added to the arguments
2. the whereVals were not extracted as arguments
This lead to all arguments being treated as one, which caused all sorts
of errors in the frontend.
By extracting all whereVals and always building it with the check ids
first the update starts working correctly again.
Found-By: Parsa Yousefi <parsa.yousefi@ionos.com>
|
|
The ioutil module was deprecated some years ago, so use the newer
version of the same tools.
|
|
The term part was moved to a separate library.
|
|
With monzero supporting slog to get debug output from check commands,
moncheck now supports that too by changing the level to debug.
|
|
With this moncheck itself is also changed to use slog.
The early config parsing is still using log as we do not have any idea
what else to use.
But from then slog is used at all points.
With the additional config options a man page was also added to explain
the new config options.
|
|
This commit replaces the various log entry points with a common logger
provided via context. This is helpful as it groups all log entries
together via the txid and should help in the future when debugging
cascading errors.
|
|
This commit prepares the switch from log to log/slog, which was
introduced in Go 1.21.
slog provides some useful facilities to add metadata to log entries,
which should be helpful for debugging problems.
This commit also adds a small transaction ID generator. It provides a
common identifier between log messages, so that multiple errors can be
viewed together in their order.
|
|
|
|
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.
|
|
|
|
The option wasn't implemented properly, so just remove it.
|
|
This is the import from the separate monfront repository. The history
could not be imported, but this should suffice.
|
|
|
|
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.
|
|
With this, it is now possible to support multiple check instances and
balance the load.
|
|
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.
|
|
This should make the frontend much easier to handle than before. It
isn't the best solution, but it makes it easier in the frontend for now.
|
|
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.
|
|
Monfront was forked into its own repository to make it easier to work
on.
|
|
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.
|
|
This allows to view all the important checks for a group much easier.
|
|
|
|
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.
|
|
The field name was wrong and therefore actions weren't completed and the
redirect was wrong.
|
|
Because Firefox has no attribute path for an event to represent the
element chain of the target, we need to iterate through the parents.
|
|
The selected rows are now properly highlighted. See #7 for more
information.
|
|
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.
|
|
This way it is possible to jump between a node and its checks.
|
|
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.
|
|
There is just no information that could possibily be shown there, that
isn't already shown somewhere else.
|
|
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.
|
|
This can help with determining which exact check connection broke the
check.
|
|
The adding of the order by clause happend in the wrong position and
therefore made the resultset unuseable.
|
|
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.
|
|
Now all the fields are shown in a column like view, which makes viewing
them much nicer to the eye.
|
|
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.
|
|
Monfront now has a basic search functionality for nodes. It also got
some nicer design to make it more useable.
|
|
This is the first step to view the group status. The templates were
split into multipe parts, to make reuse easier.
|
|
After the notifications were extracted the mute option didn't work
anymore. With this fix, they are back to working.
|
|
|
|
This function was needed as bytes.Fields had some problems with the
quoting.
Now there are test cases too so that errors can be found more easily.
|
|
This function existed to group fields together, but it had an issue and
grouped them wrongly. This caused issues later in the check stage.
|
|
This can lead to longer run times than necessary.
|