Documentation: v4.4.0- kuvasz-uptime.dev
docker pull kuvaszmonitoring/kuvasz:4.4.0
Important
There is a short questionnaire about Kuvasz in general, which you can fill out anonymously. It takes only a few minutes, and your feedback is highly appreciated as it helps me to focus on the most important features and improvements in the future. You can find it here.
Thanks, Adam
Features
🗂️ Monitor categories
Every monitor can have an optional, free-form category now — a product, a service, a team, whatever you group by. It doesn't just label them, it selects them (kudos to @scholtz for the groundwork!):
- Status pages can be defined by category instead of listing their monitors, so a page follows your monitors as you tag and re-tag them. Categorized monitors are rendered in one section per category, each with a card showing its aggregated status and a breakdown of its monitors. "Display categories" turns that grouping off if you'd rather not reveal it publicly.
- Maintenance windows can cover a whole category, so you put an entire product into maintenance without enumerating what is in it.
Both selectors are additive with the explicit monitor list, and a category no monitor belongs to yet is kept as you configured it.
The monitor lists themselves can be filtered by category too, on the Web UI and through the REST API alike.
📈 Metrics charts
The metrics on the monitor details pages got some love as well:
- The incidents that started or got resolved in the displayed time range are marked on the charts.
- The metrics can be displayed for a selectable period, from the last hour up to the last 30 days (the last day by default).
- The latency and the packet loss of ICMP monitors are drawn on a single chart, each of them with an axis of its own.
✏️ Editing monitors, status pages and maintenance windows from their lists (status pages and maintenance windows are also clonable from now on!)
Every row of the monitor, status page and maintenance window lists got a configure button, which opens the settings of the given entity without leaving the list, and saving them brings you back to the very same list. Going through a bunch of them one after the other doesn't take a detour to their details pages anymore.
Just like monitors, status pages and maintenance windows can be cloned from their lists as well.
Improvements
Tabler UI has been bumped to 1.5.x which brings a lot of small visual improvements.
Security
- Custom request headers were sent to every origin a redirect pointed to: an HTTP monitor that follows redirects attached its request headers to every hop of the redirect chain, so a secret in them - an
Authorizationheader or an API key, for example - reached whatever origin the monitored URL (or any later hop) redirected to, even over plain HTTP. From now on, the custom request headers are only sent to the origin (scheme, host and port) of the monitored URL, and they're withheld from every hop on a different origin. The default headers added by Kuvasz and the request body are not affected. If a monitor really needs its headers on another origin, the new cross-origin header propagation option restores the previous behavior. It's available on the Web UI, through the REST API, over MCP and in the YAML config (cross-origin-header-propagation) as well.
Warning
Check your monitors that are redirected to another origin!
The option is disabled for every monitor, including the already existing ones, the ones defined in the YAML config and the ones restored from an older backup. If a monitor relies on sending its custom headers to a different origin (e.g. it's redirected from http to https, or to another domain), it may go DOWN after the upgrade. Enable the option on it explicitly to restore the previous behavior.
Full Changelog: 4.3.2...4.4.0