Retour aux outils
MonitoringDébutantOpen sourceAuto-hébergeablev0.18.7

Beszel

**Le hub de monitoring serveur ultra-léger** : CPU, RAM, disque, réseau + containers Docker, avec un

MAJ 2026-06-14
Beszel
Site officiel Code source★ 22 688

Beszel est un hub de monitoring serveur moderne, écrit en Go (binaire unique, très léger), avec une UI web épurée. C'est une alternative récente et rafraîchissante à [[app-netdata]] et [[app-glances]] pour ceux qui veulent moins de bruit visuel et plus de simplicité.

Description

Beszel est un hub de monitoring serveur moderne, écrit en Go (binaire unique, très léger), avec une UI web épurée. C'est une alternative récente et rafraîchissante à [[app-netdata]] et [[app-glances]] pour ceux qui veulent moins de bruit visuel et plus de simplicité.

Architecture client/serveur :

  • Hub (le serveur central) : agrège les données de tous les agents
  • Agent (à installer sur chaque machine à surveiller) : envoie les métriques au hub

Fonctionnalités principales :

  • ✅ Métriques système : CPU, RAM, swap, disque, réseau
  • ✅ Containers Docker : CPU/RAM/IO par container
  • ✅ Historique : graphiques temporels, rétention configurable
  • ✅ Multi-utilisateurs : auth intégrée (PocketBase)
  • ✅ Notifications : email, webhooks (Discord, Slack, Ntfy, etc.)
  • ✅ Public sharing : partager des graphs publiquement
  • ✅ Alertes sur seuils (CPU > 90%, RAM > 80%, disk > 90%, etc.)
  • ✅ Backup/restore intégré
  • ✅ API pour intégrations
  • ✅ Léger : ~30 Mo de RAM pour le hub, agent ~10 Mo

Public cible : homelabers, petites équipes, dev solo. Idéal pour 1-50 serveurs. Pour de l'hyperscale, passer à [[app-prometheus]] + [[app-grafana]].

Comparaison : Beszel se distingue de [[app-netdata]] (UI très dense, panneaux partout) en proposant une UI zen et focalisée. Il est plus moderne que [[app-glances]] (qui existe depuis 10 ans) avec une vraie UI web responsive au lieu d'une CLI + petit UI. Par contre, il est moins riche en métriques (pas de sensors, GPU, SMART, etc.) que Netdata.

Installation

Option 1 : Docker Compose (hub + agent sur même machine)

# docker-compose.yml
version: '3.8'
services:
  beszel-hub:
    image: henrygd/beszel:latest
    container_name: beszel-hub
    restart: unless-stopped
    ports:
      - "8090:8090"  # Web UI
    volumes:
      - beszel-data:/beszel_data
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.beszel.rule=Host(`beszel.example.com`)"
      - "traefik.http.routers.beszel.entrypoints=websecure"
      - "traefik.http.routers.beszel.tls.certresolver=letsencrypt"

  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    environment:
      PORT: 45876
      KEY: "votre-cle-publique-ici"  # Générée dans le hub
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    depends_on:
      - beszel-hub

volumes:
  beszel-data:

Option 2 : Binaire natif (agent, sur chaque serveur à monitorer)

# Linux/macOS
curl -sL https://raw.githubusercontent.com/henrygd/beszel/main/supplemental/scripts/install-agent.sh -o install-agent.sh
chmod +x install-agent.sh
./install-agent.sh

Option 3 : Docker agent (sur d'autres machines)

services:
  beszel-agent-remote:
    image: henrygd/beszel-agent:latest
    restart: unless-stopped
    network_mode: host
    environment:
      PORT: 45876
      KEY: "votre-cle-publique"
      HUB_URL: http://hub.example.com:8090
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

Configuration

  1. Accéder au hub : http://IP:8090
  2. Créer le compte admin au premier lancement
  3. Ajouter un système : copier la clé publique générée par le hub
  4. Installer l'agent sur la machine cible avec cette clé
  5. Vérifier la connexion : l'agent apparaît dans le hub en quelques secondes
  6. Configurer les alertes : Settings > Notifications + Alert Rules

Alternatives

Open Source

  • [[app-netdata]] — Plus dense en métriques, UI chargée
  • [[app-glances]] — CLI first, web minimaliste
  • [[app-uptime-kuma]] — Monitoring d'uptime (pas système)
  • Prometheus + node_exporter + Grafana — Stack pro, plus complexe
  • Scrutiny — Pour les disques SMART uniquement

Comparaison Beszel vs alternatives

CritèreBeszelNetdataGlancesPrometheus+Node
Self-hosted✅✅✅✅
UI web moderne✅✅ (dense)Basique❌ (Grafana requis)
RAM consommée~30 Mo~200 Mo~30 Mo~500 Mo+
Containers Docker✅✅✅✅
Alertes✅✅✅✅
Setup5 min10 min5 min1 h
Métriques profondesBasiqueTrès richeMoyenIllimité

Verdict : Beszel est le meilleur choix pour homelab/petite équipe. Pour plus de 20 serveurs ou des besoins avancés, passer à Prometheus + Grafana.

Propriétaires (ce que Beszel remplace)

  • Datadog Infrastructure (à partir de $15/host/mois)
  • New Relic Infrastructure (payant)
  • Pingdom Server Monitor (payant)
  • Nagios XI (payant, très cher)

Sécurité

  • Auth intégrée : email/password (PocketBase, hashé bcrypt)
  • HTTPS via [[app-traefik]] recommandé
  • Clé publique agent → hub : utiliser des clés fortes, rotation possible
  • Pas d'exposition de l'agent : l'agent initie la connexion (outbound), pas besoin d'ouvrir de port entrant

Ressources