- Synology NAS: /volume1/docker/beszel - EffiServer: ~/effi/beszel - FolzoCorp: chemin projet Effi (inchangé)
7.8 KiB
7.8 KiB
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
# 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
cd /volume1/docker/beszel
docker compose up -d
Étape 3: Créer le compte admin
- Ouvrir http://192.168.1.25:8090
- Créer un compte admin
- 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
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.
# 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: <TOKEN_AFFICHE>
key: <KEY_AFFICHE>
Étape 3: Mettre à jour docker-compose avec TOKEN et KEY
# Arrêter l'agent
docker compose down
# Éditer docker-compose.yml et remplacer TOKEN et KEY
nano docker-compose.yml
Modifier:
environment:
HUB_URL: http://192.168.1.25:8090
TOKEN: <TOKEN>
KEY: "<KEY>"
# Redémarrer
docker compose up -d
Étape 4: Ajouter le système dans Beszel UI
- Ouvrir http://192.168.1.25:8090
- Cliquer Add System
- Choisir Socket comme type
- 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
ssh effi@192.168.1.27
Étape 2: Créer le répertoire et copier la configuration
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
cd ~/effi/beszel
docker compose up -d
Étape 4: Récupérer TOKEN et KEY
docker logs beszel-agent
Étape 5: Configurer TOKEN et KEY
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
# 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
# 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
# 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
# Lister les systèmes
curl http://192.168.1.25:8090/api/systems \
-H "Authorization: Bearer <token>"
# Stats détaillées d'un système
curl http://192.168.168.1.25:8090/api/systems/<system_id>/stats \
-H "Authorization: Bearer <token>"
Exemple de réponse stats
{
"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
# 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
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
# 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
# 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 |