Files
Effi/docs/BESZEL-INSTALLATION.md
Folzo 5b677d840d fix(beszel): Mise à jour chemins d'installation
- Synology NAS: /volume1/docker/beszel
- EffiServer: ~/effi/beszel
- FolzoCorp: chemin projet Effi (inchangé)
2026-04-12 09:34:59 +02:00

354 lines
7.8 KiB
Markdown

# 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: <TOKEN_AFFICHE>
key: <KEY_AFFICHE>
```
### É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: <TOKEN>
KEY: "<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 <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
```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)