
Beszel : le monitoring léger et simple qui ne ruine pas votre Raspberry Pi
Vous monitorer vos serveurs avec Prometheus + Grafana + Node Exporter ? Moi aussi. C’est puissant, mais c’est lourd : des containers partout, des tonnes de config, et une consommation de ressources qui fait de l’ombre à vos applis.
Je viens de remplacer tout ça par Beszel. 17 Mo de binaire Go, une image Docker de 5 Mo, un dashboard prêt à l’emploi, et un agent qui tient sur un Raspberry Pi Zero.
Le principe : Hub + Agent
Beszel repose sur une architecture à deux composants :
- Le Hub : une interface web construite sur PocketBase qui centralise toutes les métriques. Un seul binaire Go, zéro dépendance.
- L’Agent : s’installe sur chaque machine à monitorer et remonte CPU, RAM, disque, réseau, température, GPU et les statistiques Docker.
Les agents se connectent au Hub en WebSocket sortant, ce qui évite d’ouvrir des ports sur vos serveurs. Pratique quand on veut monitorer des machines chez des amis sans toucher au pare-feu.
Déploiement Docker sur Raspberry Pi
Le Hub et son agent tournent sur un Pi 4 en ARM64 sans sourciller. Voici le docker-compose.yml complet avec un agent local :
services: |
Un docker compose up -d et le dashboard est accessible sur le port 8090. La première connexion vous demande de créer un compte admin.
L’image
henrygd/beszelexiste pour amd64 et arm64. Pas de multiarch à configurer, ça tourne nativement.
Pour ajouter un serveur distant, le Hub vous génère directement la commande d’installation de l’agent — binaire ou Docker — avec la clé et le token déjà injectés. C’est un copier-coller, rien de plus.
Ce qu’on voit dans le dashboard
Une fois les agents connectés, le Hub affiche pour chaque machine :
- CPU : usage global + breakdown par conteneur Docker
- Mémoire : RAM, swap, cache ZFS ARC
- Disque : utilisation, I/O en lecture/écriture, plusieurs partitions
- Réseau : bande passante entrante/sortante par interface et par conteneur
- Température : sondes matérielles du CPU
- GPU : utilisation et consommation pour Nvidia, AMD et Intel
- Batterie : niveau de charge pour les laptops ou onduleurs
Tout est historisé. Vous naviguez dans le temps avec un curseur, comme sur Grafana, sans avoir à configurer de datasource.
Alertes configurables
Beszel supporte les alertes par CPU, mémoire, disque, bande passante, température, load average, et statut (up/down).
La configuration se fait dans l’UI, avec les notifications vers Discord, Telegram, Slack, Gotify, Ntfy, Signal, Matrix, et même MQTT. Pas de webhook à bricoler, tout est prêt :
# Exemple de configuration via variables d'environnement |
Backup automatique
Le Hub sauvegarde automatiquement les données (SQLite + historique) sur disque ou vers un bucket S3. En cas de crash du Raspberry Pi, on restaure le volume et tout revient.
Comparatif avec les alternatives
| Critère | Prometheus + Grafana | Netdata | Beszel |
|---|---|---|---|
| Images Docker | 4+ (prom, node, graf…) | 1 (lourd ~300 Mo) | 2 (hub + agent, ~5 Mo) |
| Binaire unique | Non | Non | Oui (17 Mo, Go) |
| Dashboard prêt à l’emploi | Grafana à configurer | Oui | Oui |
| Historique natif | Oui | Limité | Oui |
| Docker stats | Via cAdvisor | Oui | Oui |
| Multiserveur | Oui | Via Cloud | Oui (WebSocket) |
| Consommation RAM | Lourde (Go, TSDB) | Modérée | Infime |
| SSO / OAuth | Via reverse-proxy | Non | Oui (OIDC) |
| Licence | Apache 2.0 | GPLv3 | MIT |
Pourquoi j’ai quitté Prometheus + Grafana pour Beszel
J’utilisais Prometheus + Grafana + Node Exporter + cAdvisor depuis des années. C’est une stack éprouvée, mais qui devient disproportionnée quand on a 3 Raspberry Pi et un VPS chez OVH. L’overhead mental (alerting rules en YAML, datasources, dashboard JSON) est colossal.
Beszel ne remplace pas Prometheus pour du monitoring à 200 nœuds. Mais pour un homelab, un petit parc de serveurs, ou le monitoring de votre infra perso, c’est parfait :
- Installation en 2 minutes : un
docker compose, un copier-coller pour chaque agent. - Dashboard clé en main : pas de panneau à construire, les graphes sont déjà là.
- Consommation négligeable : le Hub et l’agent tiennent dans 30 Mo de RAM cumulés.
- Statistiques Docker : chaque conteneur voit son CPU, RAM et réseau remontés sans config supplémentaire.
Conclusion
Beszel, c’est le couteau suisse du monitoring léger. Derrière une simplicité trompeuse, il couvre 90% des besoins d’un homelab ou d’une petite infrastructure : CPU, RAM, disque, réseau, Docker, GPU, alertes, backups, OAuth.
Si comme moi vous en avez assez de passer vos dimanches à bidouiller des dashboards Grafana, installez Beszel. Vous aurez fini avant l’apéro.