Aller au contenu principal

Beszel — métriques d'hôtes (retiré)

Retiré le 2026-11-03

Doublon de Pulse (agents sur les quatre machines) et de Prometheus/Grafana. La carte Machines de Homepage lit désormais l'API de Pulse, avec un jeton en lecture seule.

  • Données conservées : volume config_beszel-data et /mnt/ssd/backups/beszel/ (dump final, et l'ancien compose de 2025 avec sa clé SSH).
  • Retirés : conteneurs de penny, agents de galahad et lancelot (désactivés), port 45876 (pare-feu du cluster et de penny), client OIDC Authelia, sauvegarde restic du volume, sonde d'outillage.

La suite décrit le service tel qu'il était.

Supervision légère des trois machines : CPU, RAM, disque, température, conteneurs. Complémentaire de Grafana, qui porte les logs.

Imagehenrygd/beszel:latest + beszel-agent
URLmonitor.home.gabin-simond.fr
AuthOIDC Authelia (two_factor) — mot de passe local désactivé
Agentréseau host, port 45876
Donnéesvolume Docker config_beszel-data → /beszel_data
Socketrépertoire /mnt/ssd/data/beszel/beszel_socket → /beszel_socket
Limite mémoire128 Mo

Relevé le 2026-09-25. La page annonçait one_factor : le client est en two_factor comme les neuf autres, voir Authelia.

attention
/mnt/ssd/data/beszel/ est un vestige, sauf son sous-répertoire beszel_socket

Ce répertoire contient un data.db, un auxiliary.db et un storage/ qui ne sont pas montés dans le conteneur. Leur data.db date du 2025-04-14 et pèse 237 Ko.

La base vivante est ailleurs, dans le volume config_beszel-data : 2,8 Mo, écrite à la minute. Seul beszel_socket/ — un répertoire, pas un fichier socket — est encore bind-monté.

Conséquence avant tout diagnostic : ouvrir /mnt/ssd/data/beszel/data.db en croyant lire l'état de Beszel donne une photo vieille de dix-sept mois, sans que rien ne le signale. Demander au conteneur plutôt que deviner :

docker inspect beszel --format '{{range .Mounts}}{{.Source}} -> {{.Destination}}{{println}}{{end}}'

L'agent est en réseau host parce qu'il doit voir les interfaces et les disques réels, pas ceux d'un bridge Docker.

La régression qui revient​

danger
PocketBase remet meta.appURL à zéro à chaque redémarrage

Symptôme : page blanche après le flux d'authentification Authelia. Le conteneur est running et son healthcheck est vert — l'état de santé Docker ne sert donc à rien ici.

Correctif idempotent, sans perte de données :

docker exec beszel sqlite3 /pb_data/data.db \
"UPDATE _params SET value='https://monitor.home.gabin-simond.fr' WHERE key='meta.appURL';"
docker compose restart beszel

Quatre invariants à garder en tête, parce que chacun a déjà cassé l'OIDC : meta.appURL doit être l'URL publique complète en HTTPS ; le client OIDC doit exister côté Authelia avec la bonne méthode d'authentification ; le conteneur doit résoudre auth.home… (d'où le dns: 192.168.1.28) ; et le mot de passe local reste désactivé, sinon on a deux chemins d'authentification à sécuriser.

Ce que Beszel ne couvre pas​

Il mesure des hôtes. Il ne détecte ni une sauvegarde muette, ni une dérive de configuration, ni un service qui répond 200 en servant du vide. Ces angles-là sont couverts par homelab_monitor.sh et les règles Grafana en espace négatif.