Right now I’m only running one of my three servers…
thanks to winter season my PV setup isn’t exactly flooding me with power,
so I’ve had to consolidate my workloads a bit. (Kidding… mostly.) ☃️🔋

But it is pretty funny watching the whole thing in Grafana,
which I use to monitor the server’s performance.

From the network load you can clearly see the 6-hour backup cycles of the two Nextcloud instances I manage for local clubs.

The high CPU load during the night — up until shortly after 2 a.m. — was simply the antivirus scanner doing its job.
The second big spike around 1 p.m. was my lunch break, when I watched a movie via Jellyfin in the browser.
The browser forces heavy transcoding, meaning the server has to adjust the video quality for the client — especially when subtitles are being “burned in,” which costs quite a bit of CPU.
Now that I’ve installed the Jellyfin Media Player, none of that CPU load happens anymore — the server stays completely relaxed. 🎥⚙️😄

To get proper observability, I also installed Node Exporter, Prometheus and Grafana on the server.
The whole setup took only a few minutes — seriously! ⚡🛠️
Here are the key steps I followed:

  • Installed Node Exporter to expose hardware and system metrics.
  • Set up Prometheus and added Node Exporter as a scrape target.
  • Installed Grafana and connected it to Prometheus as a data source.
  • Imported a few prebuilt dashboards to visualize CPU, RAM, disks and network usage.

With these three components running, I have a clean, real-time view of what the machine is doing —
perfect for watching all those tiny spikes and dips that make a sysadmin’s heart happy. ❤️🖥️📊

At the moment I can’t push the system any harder, even though it’s running:

  • Jitsi
  • GitLab
  • my NAS
  • a fresh Icinga2 base installation
  • Pi-hole

The machine still has a surprising amount of resources left in the tank… 🚀💪

By raphael

Leave a Reply