©2021 Reporters Post24. All Rights Reserved.
Watching your home lab grow from a modest single-server setup to a dedicated experimentation and self-hosting workspace can feel extremely gratifying. Besides adding extra computing prowess for your DIY, extra rigs let you tinker with high-availability clusters, and you can even arm them with some services that you’d typically want to avoid running on your main workstation.
However, scaling up your hardware and VMs can have a major drawback aside from spiking your energy bills and making cable management a nightmare. The more rigs you add to your setup, the more difficult it’ll be to keep tabs on your home lab, especially once you throw clusters into the mix. But after using Beszel, managing my servers has become a lot easier – to the point where I now consider it a necessary part of my self-hosted application stack.
What’s Beszel, anyway?
It’s a lightweight monitoring station for your servers…
In simple terms, Beszel is a FOSS monitoring server that records the performance statistics of server rigs, virtual machines, and even VPS, if you often use them in your home lab experiments. Compared to its rivals in the self-hosted domain, Beszel boasts a lightweight nature and simple design as its biggest selling points.
… That’s compatible with multiple operating systems
Typically, home server tools are natively supported on Linux and won’t work on Windows unless you throw WSL2 into the mix. However, Beszel does things differently, as it’s compatible with Linux, macOS, and Windows, with the developer planning a potential FreeBSD release in the future.
As such, you’re not locked behind a specific OS and can connect practically every server rig in your stash to the Beszel monitoring hub. Heck, you can even use Tailscale, WireGuard, or other VPN services to monitor your VPS and physical servers on external networks. If you’re into nested setups, you can deploy a Beszel agent inside a Docker or an LXC container and use it to track the statistics of the root container.
And it has a built-in notification facility
As if the monitoring features aren’t enough, Beszel can also dispatch alerts upon detecting critical conditions in your home lab. While it doesn’t support 100+ notification platforms like Uptime Kuma, Beszel makes up for it by letting you specify multiple notification conditions. Beszel relies on SMTP servers and Shoutrrr’s URL schemas for sending alerts, and the latter are fairly easy to configure once you go through the official documentation.
Setting up Beszel
You’ll need to deploy a hub alongside several clients
Rather than featuring a central hub that routinely sends pings to your servers, Beszel uses a client + server setup for pulling metrics and monitoring your workstation. You’ve got the Beszel hub at the center of the setup, which is essentially a dashboard that connects to multiple agents and displays the historical data. Each agent is an ultralight SSH server that runs on top of the servers, including the one hosting the Beszel hub, and is responsible for sending the statistics to the main Beszel hub.
As such, you’ll have to configure both the Beszel hub and agent(s) services. Since I use a Proxmox server as the core of my self-hosting workstation, I’ve used the convenient VE Helper-Scripts repository to get the Beszel hub up and running.
If you’re on a Linux machine, you can create a docker-compose.yml file, feed in the code from the official Beszel website, and run it using the sudo docker compose up -d command.
Surprisingly, installing the agent is a lot simpler on Windows. Assuming you’ve previously set up WinGet or Scoop, you can just copy the Windows command, paste it into PowerShell, and wait for the script to work its magic!
Build a reliable monitoring station with Beszel
Once you’ve installed all the agents and connected them to the Beszel hub, you should have a battalion of virtual machines and servers lined up in the dashboard. I also recommend setting up the alerts if you want to remain on top of your home lab’s operational status. For folks who love Homepage as much as I do, you can even arm it with Beszel widgets and monitor your servers from its fully-customizable UI.