Microsoft, Google, Apple, Windows, Android, iOS, Internet, Cyber Security, Hacking, Malware, Smartphone, Mobile App

Trending

This free and open-source lightweight server monitor changed how I keep an eye on my home lab

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…

Monitoring multiple servers using Beszel

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.

Personally, Beszel serves as the perfect middle ground between Uptime Kuma and a Grafana + Prometheus setup for my servers. Although it takes a couple of extra commands to deploy Beszel, the app can pull a lot more system metrics than Uptime Kuma. On top of that, it can generate detailed graphics using CPU usage, memory consumption, network bandwidth, system temps, and other historical data, which is far beyond Uptime Kuma’s capabilities. Meanwhile, Beszel is a lot easier to set up than the Grafana and Prometheus combo, as you don’t have to tinker with tons of configuration files and API tokens just to get the monitoring server up and running.

… 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

beszel-8

 

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

Installing Beszel on Proxmox

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.

Doing so is as simple as navigating to the Shell tab of your favorite Proxmox node, pasting the bash -c “$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/beszel.sh)” command into the terminal interface, and choosing Default settings. Soon, Proxmox will spin up an LXC for Beszel, and you can use the IP address generated in the Shell interface to access the monitoring hub.

Running the docker compose command

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.

Installing Beszel on Debian

Regardless of your method, you’ll also have to install a client on each machine you wish to monitor and connect it to your Beszel hub. On Linux distributions, you can simply run the curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh command to install the agent and paste the SSH key generated by the Beszel hub when you click on the Add System button. Once that’s done, simply execute the Linux command created by the Beszel hub on the server you wish to add to your monitoring dashboard.

Installing Beszel on Windows 11

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

Monitoring a server using 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.

Leave A Reply

Your email address will not be published.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy