Auto-hébergement avec Beszel : Surveillez toute votre flotte VPS
Dès que vous gérez plusieurs serveurs, vous avez besoin de visibilité — sans payer des outils SaaS de monitoring ni faire tourner une stack d’observabilité lourde. Beszel comble ce manque efficacement. C’est un tableau de bord de monitoring auto-hébergé et léger qui agrège les métriques système de plusieurs machines dans une interface unique. Cet article explique pourquoi Beszel se démarque, comment le configurer pour des environnements multi-serveurs, et comment le rendre prêt pour la production.
Pourquoi Beszel pour le monitoring auto-hébergé ?
La plupart des solutions de monitoring auto-hébergées tombent dans deux catégories : trop simples (juste des vérifications d’uptime) ou trop complexes (stacks Prometheus + Grafana complètes). Beszel se situe entre les deux — il fournit des métriques système exploitables sans devoir apprendre PromQL ni maintenir une plateforme d’observabilité multi-conteneurs.
Avantages clés :
- Empreinte ressources minimale : Hub sur 512 Mo de RAM. Les agents utilisent moins de 10 Mo de RAM chacun.
- Aucune dépendance externe : Basé sur SQLite, pas de Postgres ou Redis requis.
- Architecture Hub + Agent : Un hub, serveurs surveillés illimités.
- UI propre par défaut : Graphiques CPU, mémoire, E/S disque et réseau — sans configuration.
- Tourne partout : VPS, homelab, bare metal, Raspberry Pi.
VPS recommandé pour le hub Beszel
| Fournisseur | Prix | RAM | Stockage | Point fort |
|---|---|---|---|---|
| Hetzner Cloud | 4,15 EUR/mois | 4 Go | 40 Go NVMe | Meilleur rapport qualité/prix UE |
| Contabo VPS | 5,99 EUR/mois | 8 Go | 200 Go NVMe | Rétention maximale |
| Linode (Akamai) | 5 USD/mois | 1 Go | 25 Go SSD | Économique, mondial |
| Vultr | 6 USD/mois | 1 Go | 25 Go SSD | 32 localisations |
| DigitalOcean | 6 USD/mois | 1 Go | 25 Go SSD | Onboarding le plus simple |
Cas d’usage du monitoring
1. Monitoring de flotte homelab
Si vous gérez plusieurs instances VPS, un NAS et un serveur local, Beszel vous donne une vue centralisée. Installez l’agent sur chaque machine et consultez toutes les métriques depuis une URL. Fini le SSH sur chaque serveur pour vérifier si un disque se remplit.
2. Supervision des VPS de production
Les auto-hébergeurs qui font tourner des apps comme Nextcloud, Gitea ou Mastodon peuvent utiliser Beszel pour corréler les pics de CPU ou de mémoire avec des événements de trafic. Les graphiques historiques facilitent l’identification des tendances de ressources avant qu’elles ne causent des pannes.
3. Monitoring des serveurs de build CI/CD
Si vous utilisez Woodpecker CI, Drone ou Gitea Actions, les tâches de build peuvent faire des pics de CPU et de mémoire. Beszel vous montre exactement quand les builds sollicitent votre serveur et aide à prendre des décisions de rightsizing.
4. Monitoring des appliances VPN et réseau
Les agents peuvent tourner sur des nœuds WireGuard ou headscale, rapportant le débit réseau et l’état du système sans exposer ces serveurs à internet.
Configuration multi-serveurs
Architecture
[Serveur surveillé 1] -- beszel-agent --> [Hub Beszel VPS:8090]
[Serveur surveillé 2] -- beszel-agent --> [Hub Beszel VPS:8090]
[Serveur surveillé N] -- beszel-agent --> [Hub Beszel VPS:8090]
Le hub est votre VPS central. Chaque serveur surveillé fait tourner l’agent, qui collecte les métriques locales et les envoie au hub.
Déployer le hub
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Déployer les agents à grande échelle
Pour chaque serveur surveillé, générer une clé dans le tableau de bord Beszel (Ajouter un serveur), puis exécuter :
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<clé-spécifique-au-serveur>" \
henrygd/beszel-agent
Pour automatiser avec Ansible :
- name: Deploy Beszel agent
community.docker.docker_container:
name: beszel-agent
image: henrygd/beszel-agent:latest
restart_policy: unless-stopped
network_mode: host
env:
KEY: "{{ beszel_agent_key }}"
Alertes et notifications
Beszel supporte les alertes basées sur des webhooks. Seuils configurables :
- Utilisation CPU (ex. alerte à > 85% soutenu)
- Utilisation mémoire (ex. alerte à > 90%)
- Utilisation disque (ex. alerte à > 80%)
Configurer une alerte Discord
- Dans votre serveur Discord : Paramètres du serveur > Intégrations > Webhooks — créer un nouveau webhook.
- Copier l’URL du webhook.
- Dans Beszel : Paramètres > Notifications — ajouter un nouveau webhook et coller l’URL.
- Configurer les seuils d’alerte par serveur dans le panneau de paramètres du serveur.
Configurer une alerte Slack
Même démarche — créer un webhook entrant dans le répertoire d’apps Slack, copier l’URL et l’ajouter dans les paramètres de notifications de Beszel.
Intégrations
Reverse proxy avec Caddy
monitor.votredomaine.fr {
reverse_proxy localhost:8090
}
Caddy gère automatiquement HTTPS via Let’s Encrypt.
Sauvegarde avec Restic
Comme Beszel utilise SQLite, les sauvegardes sont simples :
restic -r s3:s3.amazonaws.com/votre-bucket backup /var/lib/docker/volumes/beszel_data/_data/
Planifier avec cron :
0 3 * * * restic -r s3:s3.amazonaws.com/votre-bucket backup /var/lib/docker/volumes/beszel_data/_data/ --quiet
Uptime Kuma en complément
Beszel gère les métriques système ; Uptime Kuma gère les vérifications de santé des services. Les faire tourner ensemble sur le même VPS offre une couverture complète — Beszel indique si un serveur est en difficulté, Uptime Kuma indique si un service spécifique est hors ligne.
Performance et rétention des données
La base de données SQLite de Beszel grossit avec le nombre de serveurs et les fenêtres de rétention. Estimations approximatives :
- 1 serveur, rétention par défaut : ~50 Mo/an
- 10 serveurs, rétention par défaut : ~500 Mo/an
- 50 serveurs, rétention par défaut : ~2,5 Go/an
Les 200 Go NVMe de Contabo gèrent facilement même les grandes flottes pendant des années sans avoir à élaguer les données historiques.
Questions fréquentes
Est-il sécurisé d’exposer Beszel à internet ?
Utilisez HTTPS via un reverse proxy et définissez un mot de passe administrateur fort. Comme Beszel ne supporte pas l’authentification multi-utilisateurs ou OIDC, l’accès via un VPN ou un reverse proxy avec authentification supplémentaire (ex. Authelia ou basicauth de Caddy) est recommandé.
Beszel peut-il remplacer Grafana + Prometheus pour le monitoring de base ?
Pour les métriques système sur une flotte petite à moyenne (moins de 100 serveurs), oui. Beszel couvre les métriques essentielles dont la plupart des auto-hébergeurs ont besoin, sans la complexité opérationnelle d’une stack Prometheus complète. Pour les métriques personnalisées, l’agrégation de logs ou les pipelines d’alertes avancées, une stack basée sur Prometheus est plus appropriée.
Comment mettre à jour Beszel ?
Tirer la dernière image et recréer le conteneur :
docker pull henrygd/beszel:latest
docker compose down && docker compose up -d
Vos données persistent dans le volume nommé.
L’auto-hébergement avec Beszel est l’un des moyens les plus efficaces de maintenir la visibilité sur une flotte VPS distribuée. Pour plus de recommandations VPS, consultez notre comparatif complet.