# Installation Beszel - Monitoring Infrastructure ## Vue d'ensemble Beszel est un système de monitoring léger pour serveurs avec historique, stats Docker et alertes. ### Architecture ``` ┌─────────────────────────────────────────────────────────────┐ │ NAS Synology (192.168.1.25) │ │ Emplacement: /volume1/docker/beszel │ │ Beszel Hub │ │ Port: 8090 │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ ▼ ▼ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ FolzoCorp (192.168.1.11) │ │ EffiServer (192.168.1.27) │ │ (dans projet Effi) │ │ Emplacement: ~/effi/beszel │ │ Agent Beszel │ │ Agent Beszel │ │ GPU: AMD RX 7800 XT │ │ CPU: Intel J5040 │ │ RAM: 32GB │ │ RAM: 8GB │ └─────────────────────────────┘ └─────────────────────────────┘ ``` --- ## 1. Installation Hub - NAS Synology (192.168.1.25) ### Étape 1: Créer le répertoire et copier les fichiers ```bash # Sur le NAS Synology (via SSH) mkdir -p /volume1/docker/beszel cd /volume1/docker/beszel # Copier le fichier docker-compose depuis FolzoCorp scp folzo@192.168.1.11:~/Documents/OpenCode/Projets/Effi/beszel/docker-compose-hub.yml ./ ``` ### Étape 2: Démarrer le Hub ```bash cd /volume1/docker/beszel docker compose up -d ``` ### Étape 3: Créer le compte admin 1. Ouvrir http://192.168.1.25:8090 2. Créer un compte admin 3. Noter les identifiants --- ## 2. Installation Agent - FolzoCorp (192.168.1.11) L'agent Beszel pour FolzoCorp est déjà inclus dans le projet Effi. ### Emplacement ``` /home/folzo/Documents/OpenCode/Projets/Effi/beszel/ ``` ### Étape 1: Démarrer l'agent ```bash cd /home/folzo/Documents/OpenCode/Projets/Effi/beszel cp docker-compose-agent-folzocorp.yml docker-compose.yml docker compose up -d ``` ### Étape 2: Récupérer TOKEN et KEY Après le premier démarrage, l'agent génère un TOKEN et KEY uniques. ```bash # Voir les logs pour récupérer les identifiants docker logs beszel-agent ``` Chercher les lignes типа: ``` agent listening on /var/run/beszel-agent/beszel.sock hub: http://192.168.1.25:8090 token: key: ``` ### Étape 3: Mettre à jour docker-compose avec TOKEN et KEY ```bash # Arrêter l'agent docker compose down # Éditer docker-compose.yml et remplacer TOKEN et KEY nano docker-compose.yml ``` Modifier: ```yaml environment: HUB_URL: http://192.168.1.25:8090 TOKEN: KEY: "" ``` ```bash # Redémarrer docker compose up -d ``` ### Étape 4: Ajouter le système dans Beszel UI 1. Ouvrir http://192.168.1.25:8090 2. Cliquer **Add System** 3. Choisir **Socket** comme type 4. Utiliser le chemin: `/var/run/beszel-agent/beszel.sock` --- ## 3. Installation Agent - EffiServer (192.168.1.27) ### Emplacement ``` /home/effi/effi/beszel/ ``` ### Étape 1: Se connecter en SSH ```bash ssh effi@192.168.1.27 ``` ### Étape 2: Créer le répertoire et copier la configuration ```bash mkdir -p ~/effi/beszel && cd ~/effi/beszel scp folzo@192.168.1.11:~/Documents/OpenCode/Projets/Effi/beszel/docker-compose-agent-effiserver.yml ./ mv docker-compose-agent-effiserver.yml docker-compose.yml ``` ### Étape 3: Démarrer l'agent ```bash cd ~/effi/beszel docker compose up -d ``` ### Étape 4: Récupérer TOKEN et KEY ```bash docker logs beszel-agent ``` ### Étape 5: Configurer TOKEN et KEY ```bash docker compose down nano docker-compose.yml # Ajouter TOKEN et KEY docker compose up -d ``` ### Étape 6: Ajouter dans Beszel UI Même procédure que FolzoCorp, utiliser `/var/run/beszel-agent/beszel.sock` --- ## 4. Commandes rapides ### FolzoCorp ```bash # Démarrer cd /home/folzo/Documents/OpenCode/Projets/Effi/beszel docker compose up -d # Voir les logs docker logs -f beszel-agent # Arrêter docker compose down ``` ### EffiServer ```bash # Démarrer cd ~/effi/beszel docker compose up -d # Voir les logs docker logs -f beszel-agent # Arrêter docker compose down ``` --- ## 5. Endpoints API Beszel Beszel expose une API REST pour qu'Effi puisse récupérer les métriques. ### Authentification ```bash # Login pour obtenir un token curl -X POST http://192.168.1.25:8090/api/auth/login \ -H "Content-Type: application/json" \ -d '{"identity": "admin", "password": "votre_password"}' ``` ### Récupérer les stats d'un système ```bash # Lister les systèmes curl http://192.168.1.25:8090/api/systems \ -H "Authorization: Bearer " # Stats détaillées d'un système curl http://192.168.168.1.25:8090/api/systems//stats \ -H "Authorization: Bearer " ``` ### Exemple de réponse stats ```json { "cpu": 12.5, "memory": 45.2, "swap": 8.1, "disk": 67.3, "load": [1.2, 0.8, 0.5], "temperature": {}, "gpu": { "AMD RX 7800 XT": { "memory_used": 1788194816, "memory_total": 17163091968, "utilization_gpu": 3, "power_draw": 20 } }, "containers": [ { "id": "abc123", "name": "comfyui", "cpu_percent": 0.5, "memory_percent": 48.69 } ] } ``` --- ## 6. Script Effi pour interroger Beszel Le script `scripts/beszel_client.py` permet à Effi de récupérer les métriques. ### Utilisation ```bash # Lister les systèmes python3 scripts/beszel_client.py --list-systems # Stats d'un système python3 scripts/beszel_client.py --system folzocorp --check stats # Vérifier les alertes python3 scripts/beszel_client.py --system folzocorp --check alerts # Output JSON python3 scripts/beszel_client.py --system folzocorp --check stats --json ``` ### Variables d'environnement ```bash export BESZEL_URL=http://192.168.1.25:8090 export BESZEL_USER=admin export BESZEL_PASSWORD=votre_password ``` --- ## 7. Alertes recommandées ### FolzoCorp | Métrique | Warning | Critical | |----------|---------|----------| | CPU | 70% | 90% | | RAM | 80% | 95% | | VRAM | 75% | 90% | | GPU Utilization | 80% | 95% | ### EffiServer | Métrique | Warning | Critical | |----------|---------|----------| | CPU | 70% | 90% | | RAM | 80% | 95% | | Disk | 80% | 90% | --- ## Dépannage ### Agent ne démarre pas ```bash # Vérifier les logs docker logs beszel-agent # Vérifier la connectivité au Hub curl http://192.168.1.25:8090/health ``` ### Socket non accessible ```bash # Vérifier que le socket existe ls -la /var/run/beszel-agent/ # Redémarrer l'agent docker restart beszel-agent ``` --- ## Résumé emplacements | Système | Emplacement | Configuration | |---------|-------------|---------------| | Synology NAS | `/volume1/docker/beszel` | docker-compose-hub.yml | | FolzoCorp | `/home/folzo/Documents/OpenCode/Projets/Effi/beszel` | docker-compose-agent-folzocorp.yml | | EffiServer | `/home/effi/effi/beszel` | docker-compose-agent-effiserver.yml | --- ## Liens utiles - [Beszel GitHub](https://github.com/henrygd/beszel) - [Documentation Beszel](https://beszel.dev) - [GPU Monitoring](https://beszel.dev/guide/gpu) - [REST API](https://beszel.dev/guide/rest-api)