đïž Beszel surveillance serveur
Beszel est une plate-forme de surveillance de serveur lĂ©gĂšre qui comprend des statistiques Docker, des donnĂ©es historiques et des fonctions dâalerte. Il a une interface Web conviviale, une configuration simple, et est prĂȘt Ă ĂȘtre utilisĂ© hors de la boĂźte. Il prend en charge la sauvegarde automatique, lâauthentification multi-utilisateur, OAuth et lâaccĂšs API.
Beszel
Beszel est Ă©crit en Go pur et peut ĂȘtre facilement compilĂ© si un binaire prĂ©construit nâest pas disponible
Caractéristiques
- Lightweight: plus petit et moins gourmand en ressources que les solutions de pointe.
- Simple : Configuration facile avec peu de configuration manuelle requise.
- Statistiques Docker: Suit lâhistorique dâutilisation du processeur, de la mĂ©moire et du rĂ©seau pour chaque conteneur.
- Alerts: Alertes configurables pour CPU, mémoire, disque, bande passante, température, moyenne de charge et statut.
- Multi-utilisateur: Les utilisateurs gĂšrent leurs propres systĂšmes. Les administrateurs peuvent partager des systĂšmes entre les utilisateurs.
- OAuth / OIDC : Prend en charge de nombreux fournisseurs OAuth2. Password auth peut ĂȘtre dĂ©sactivĂ©.
- Sauvegardes automatiques: Enregistrer et restaurer Ă partir du disque ou du stockage compatible S3.
Architecture
Beszel se compose de deux composants principaux: le moyeu et lâagent.
- Hub : Une application web construite sur PocketBase qui fournit un tableau de bord pour visualiser et gérer les systÚmes connectés.
- Agent: Fonctionne sur chaque systÚme que vous souhaitez surveiller et communique les métriques du systÚme au hub.
Liens
- Beszel Gihut: https://github.com/henrygd/beszel
- Beszel : une solution de supervision open source, légÚre et moderne pour vos serveurs
Hub cwwk
Linux script installation
Cette commande tĂ©lĂ©charge et exĂ©cute notre script install-hub.sh. Le script installe le dernier binaire et crĂ©e un service systemd pour le maintenir en cours dâexĂ©cution aprĂšs le redĂ©marrage.
-u: DĂ©sinstaller-p <port>: SpĂ©cifier un numĂ©ro de port (par dĂ©faut: 8090)-c <url>: Utilisez une URL miroir GitHub personnalisĂ©e (par exemple https://ghfast.top/)--auto-update: Activer les mises Ă jour quotidiennes automatiques-h: Afficher lâaide
1
curl -sL https://get.beszel.dev/hub -o /tmp/install-hub.sh && chmod +x /tmp/install-hub.sh && /tmp/install-hub.sh
Proxy nginx
Créer un proxy nginx sur le serveur debian
1
sudo nano /etc/nginx/conf.d/beszel.rnmkcy.eu.conf
Y ajouter le contenu suivant
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name beszel.rnmkcy.eu;
client_max_body_size 10M;
include /etc/nginx/conf.d/ssl-modern.inc;
location / {
proxy_read_timeout 360s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8090;
}
}
Recharger nginx
1
sudo systemctl reload nginx
Créer un utilisateur administrateur
AprĂšs avoir dĂ©marrĂ© le hub, accĂ©dez Ă https://beszel.rnmkcy.eu ou Ă lâadresse choisie.
Vous serez invité à créer un compte:
Configurer votre premier systĂšme
Cliquez sur le bouton Ajouter SystĂšme dans le coin supĂ©rieur droit pour ouvrir la boĂźte de dialogue de crĂ©ation du systĂšme. Nous ajoutons lâagent sur le hub cwwk
Remarque: à partir de 0.12.0, vous pouvez également utiliser un jeton universel (
/settings/tokens) de connecter lâagent au hub sans avoir besoin de le configurer Ă lâavance.
Agent sur hub
Variables requises
KEY: La clĂ© publique affichĂ©e lors de lâajout dâun systĂšme dans le Hub.TOKEN: UtilisĂ© pour authentifier lâagent (voir/settings/tokens).HUB_URL: UtilisĂ© pour la connexion WebSocket sortante (non nĂ©cessaire pour la connexion SSH).
ExĂ©cuter la commande linux copiĂ©e prĂ©cĂ©demment pour installer lâagent (elle contient la clĂ© publique et le token)
1
curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh -p 45876 -k "ssh-ed25519 A...k+YIt" -t "8f...8e" -url "https://beszel.rnmkcy.eu"
Lâagent est dĂ©marrĂ© automatiquement aprĂšs lâinstallation et le tableau de bord est actualisĂ©

Agent (binaire+systemd)
Sur le hub, Ajouter SystĂšme
La commande est à exécuter sur le distant
1
curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh -p 45876 -k "ssh-ed25519 AAAA...It" -t "07...75" -url "https://beszel.rnmkcy.eu"
Agent (docker compose)
Sur le distant avec docker
1
2
3
mkdir $HOME/bezel
cd $HOME/bezel
nano docker-compose.yml
Copier le texte ci-dessous
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
services:
beszel-agent:
image: henrygd/beszel-agent
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./beszel_agent_data:/var/lib/beszel-agent
# monitor other disks / partitions by mounting a folder in /extra-filesystems
# - /mnt/disk/.beszel:/extra-filesystems/sda1:ro
environment:
LISTEN: 45876
KEY: 'ssh-ed25519 AAAA...It'
TOKEN: 8b...f5
HUB_URL: https://beszel.rnmkcy.eu
DĂ©marrer lâagent:
1
docker compose up -d
Notifications
ntfy: serveur privé accessible par token
Résultat du test sur le serveur ntfy

Configuration des alertes
Beszel intĂšgre un systĂšme dâalerte simple mais efficace. Il se configure au niveau de chaque systĂšme (ou au niveau global), câest-Ă -dire chaque agent, mais via lâinterface du serveur.
Depuis la page dâaccueil, cliquez sur la cloche en bout de ligne sur lâun des systĂšmes.
Un panneau latĂ©ral sâaffiche. Il permet de configurer les alertes pour le systĂšme sĂ©lectionnĂ© ou pour tous les systĂšmes. Le systĂšme est basique mais suffisant pour ĂȘtre alertĂ© en cas de problĂšme sur le serveur supervisĂ©.

Par exemple, si le serveur est injoignable pendant 3 minutes, vous pouvez recevoir une alerte. Autre exemple : recevoir une alerte si la mémoire dépasse 80% pendant 8 minutes. à vous de configurer les différents seuils, selon vos besoins.

Options dâinstallation
Téléchargement et démarrage manuel (Linux, FreeBSD, autres)
Télécharger le binaire
TĂ©lĂ©chargez le dernier binaire Ă partir de versions qui correspondent Ă lâOS / architecture de votre serveur.
1
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_$(uname -s)_$(uname -m | sed -e 's/x86_64/amd64/' -e 's/armv6l/arm/' -e 's/armv7l/arm/' -e 's/aarch64/arm64/').tar.gz" | tar -xz beszel-agent
DĂ©marrer lâagent
Utilisation -hpour voir toutes les options disponibles.
1
./beszel-agent -key "<public key>" -token "<token>" -url "<hub url>"
Mettre Ă jour lâagent
1
./beszel-agent update
Créer un service (facultatif)
Si votre systĂšme est symposĂ©, vous pouvez crĂ©er un service pour maintenir lâagent en cours dâexĂ©cution aprĂšs le redĂ©marrage.
1-CrĂ©er un fichier de service dans /etc/systemd/system/beszel-agent.service. Remplacer les valeurs de lâespace rĂ©servĂ© (p. ex., <path-to-binary>, <public key>) avec votre configuration rĂ©elle. Vous pouvez Ă©galement utiliser KEY_FILEet TOKEN_FILEpour charger des secrets Ă partir de fichiers protĂ©gĂ©s (voir le numĂ©ro 1627).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
[Unit]
Description=Beszel Agent Service
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=<path-to-binary>/beszel-agent
Environment="LISTEN=45876"
Environment="KEY=<public key>"
Environment="TOKEN=<token>"
Environment="HUB_URL=<hub url>"
# Environment="EXTRA_FILESYSTEMS=sdb"
Restart=on-failure
RestartSec=5
StateDirectory=beszel-agent
# Security/sandboxing settings
KeyringMode=private
LockPersonality=yes
NoNewPrivileges=yes
ProtectClock=yes
ProtectHome=read-only
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectSystem=strict
RemoveIPC=yes
RestrictSUIDSGID=true
[Install]
WantedBy=multi-user.target
2-Activez et démarrez le service.
1
2
3
sudo systemctl daemon-reload
sudo systemctl enable beszel-agent.service
sudo systemctl start beszel-agent.service
Compilation
Le hub et lâagent sont tous deux Ă©crits en Go, de sorte que vous pouvez facilement les construire vous-mĂȘme, ou compiler en croix pour diffĂ©rentes plates-formes. Veuillez dâabord installer Go si vous ne lâavez pas dĂ©jĂ fait.
Cloner le dépÎt
1
2
3
4
# Clone the repository
git clone --branch v0.18.7 --depth 1 https://github.com/henrygd/beszel.git
# Navigate to the repository
cd beszel
Utilisation de Makefile
Exécuter make. Cela crée un répertoire build contenant les binaires.
1
2
3
4
5
6
# Builds both the agent and hub
make
# Builds the agent only
make build-agent
# Builds the hub only (requires Node or Bun)
make build-hub
Vous pouvez également construire pour différentes plateformes:
1
make OS=freebsd ARCH=arm64
Voir une liste des options valides en exécutant
1
go tool dist list










