Skip to main content

Raymii.org Raymii.org Logo

Quis custodiet ipsos custodes?
Home | About | All pages | Cluster Status | RSS Feed | Gopher

Leaf Node Monitoring v2023.01 released, major performance improvements, new layout and new checks!

Published: 05-01-2023 | Author: Remy van Elst | Text only version of this article


Table of Contents


I'm pleased to announce the next version of Leaf Node Monitoring, the simple and easy to use open source site and server monitoring tool. Major new features include a responsive and adjustable layout, massive performance improvements and a new check type, allowing you to execute external processes, for example, the nagios/monitoring plugins. This post goes over everything that is new in this release.

This post is cross-posted on the official Leaf Node Monitoring website.

You can download the new version here.

Let's start off with a screen recording of the new version, demonstrating the new responsive layout. Note that any stuttering is due to the recording software.

edit layout

Performance improvements

The biggest but least visible new feature in this release is the massive speedup. All checks now run in their own thread, with intelligent thread management making sure the UI is not blocked. Valgrind and QML Profiling also showed a few pain points which have been resolved to make LeafNode Monitoring feel way more snappy. Using the Loader in QML to only load parts when required and not passing huge amounts of text via Qt signals/slots are a few of the other speed improvements. This is also the reason why this version took so long to release, I've rewritten the threading related code multiple times and only now am I a bit satisfied with it.

I'll now go over the other new features in more detail.

Responsive Layout

One request I got from multiple people was to make the app more usable on larger screens, like a wall mounted monitor. Here is a picture showing a 2 column layout:

Responsive Layout

Using the new controls, visible after clicking the arrow at the bottom of the app, you can resize the host cards and check tiles. Make them huge for a wall mounted monitor, make them small on your high-dpi Android phone.

Layout controls

Here is a side by side comparison of the previous version (2022.01) together with this version, showing the same hosts. Can you imagine how much more useful this is on a big screen?

v2022.01 (old) v2023.01 (new)

My intention always was to have Leaf Node Monitoring running in a small window on the side. Since failed checks automatically are placed at the top, a quick glance should show you enough. But, I'm more than happy to incorporate user feedback, and I find setting the layout to be a bigger improved readability.

Earlier I've written an article showcasing the new layout feature, you can read it here. Another visual improvement is the rounding of most corners. Since the most-used operating system in their 11th version also rounded corners, I thought, why not, lets be fancy.

External Process Checks

The other major new feature is a new check type, namely External Process checks. This allows you to configure any process and when it exit with an exit code other than 0, it will trigger an error. On the Linux side you can use the monitoring plugins, on Windows you might use Powershell, for example a Get-Process command. The README file and the build in help list examples for both PowerShell and Linux. Here's how it looks when you add a check:

Add external process check

Here is how a successful check and a failed check look, both on Windows as on Linux:

Failed proc check linux

ok proc check

The above check is a Synology SNMP disk temperature check.

The below check is a Windows Powershell Get-Process check, both failed and OK:

win proc check fail

win proc ok

I'm still thinking about how to design a better check add / host edit screen. At the moment it still is a bit of a big list of buttons and fields. Keep an eye out for new versions since that is high on my todo list. But, adding this external process integration extends the functionality of LeafNode Monitoring by a huge amount, since you can now add any check or script you want and don't have to wait until I add it myself.

Notifications for individual checks

In the previous version, you were only notified when of a host status change and you had to go look yourself to see which check failed. Now you also receive notifications for each individual check. No history (yet), your window manager / operating system alert history is a useful alternative for now.

Tray icon menu

On the desktop, the tray icon can now be right-clicked to open a menu allowing you to quickly check all hosts or start/stop the timer or disable/enable notifications:

tray icon menu

This is a small quality of life improvement which I find myself using often, more than I expected.

Other fixes / additions*

settings

https errors

Tags: android , blog , business , c++ , gpl , leaf-node-monitoring , qt