215 lines
7.1 KiB
Markdown
215 lines
7.1 KiB
Markdown
# Documentation - Tests de Santé des URLs LeCoffre Node
|
|
|
|
## 📋 Vue d'ensemble
|
|
|
|
Ce document décrit les scripts de vérification de santé des URLs pour LeCoffre Node, intégrés dans les processus de backup et de production.
|
|
|
|
## 🔧 Scripts Disponibles
|
|
|
|
### 1. `url-health-check.sh`
|
|
**Script principal de test d'URLs**
|
|
|
|
**Usage :**
|
|
```bash
|
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
|
./url-health-check.sh
|
|
```
|
|
|
|
**Fonctionnalités :**
|
|
- Test de toutes les URLs internes (services Docker)
|
|
- Test de toutes les URLs externes (domaine public)
|
|
- Test des APIs externes (backend services)
|
|
- Test des WebSockets externes
|
|
- Test des services externes (dépendances)
|
|
- Rapport détaillé avec codes de retour
|
|
|
|
**Codes de retour :**
|
|
- `0` : Toutes les URLs sont accessibles
|
|
- `1` : Certaines URLs ne sont pas accessibles (majorité fonctionne)
|
|
- `2` : Trop d'URLs ne sont pas accessibles
|
|
|
|
### 2. `production-health-check.sh`
|
|
**Script de vérification complète pour la production**
|
|
|
|
**Usage :**
|
|
```bash
|
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
|
./production-health-check.sh
|
|
```
|
|
|
|
**Fonctionnalités :**
|
|
- État des services Docker
|
|
- Espace disque système
|
|
- Mémoire système
|
|
- Volumes Docker
|
|
- Tests d'URLs complets
|
|
- Génération d'un rapport Markdown détaillé
|
|
|
|
### 3. `backup-data.sh` (Modifié)
|
|
**Script de backup avec intégration des tests d'URLs**
|
|
|
|
**Usage :**
|
|
```bash
|
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
|
./backup-data.sh
|
|
```
|
|
|
|
**Nouvelles fonctionnalités :**
|
|
- Test des URLs avant la sauvegarde
|
|
- Test des URLs après la sauvegarde
|
|
- Logs des tests intégrés dans le backup
|
|
- Rapport de cohérence avant/après
|
|
|
|
## 📊 URLs Testées
|
|
|
|
### URLs Internes (Services Docker)
|
|
|
|
| Service | URL | Code Attendu | Description |
|
|
|---------|-----|--------------|-------------|
|
|
| BlindBit Oracle | `http://localhost:8000/tweaks/1` | 200 | API BlindBit |
|
|
| SDK Storage | `http://localhost:8081/health` | 200 | Health check SDK Storage |
|
|
| SDK Relay | `http://localhost:8091/` | 200 | Interface WebSocket SDK Relay |
|
|
| SDK Relay | `http://localhost:8090/` | 200 | Interface HTTP SDK Relay |
|
|
| LeCoffre Frontend | `http://localhost:3004/` | 200,301,302,307,308 | Frontend racine |
|
|
| LeCoffre Frontend | `http://localhost:3004/login` | 200,301,302,307,308 | Page de login |
|
|
| LeCoffre Frontend | `http://localhost:3004/lecoffre/` | 200,301,302,307,308 | Application LeCoffre |
|
|
| IHM Client | `http://localhost:3003/` | 200 | Interface IHM Client |
|
|
| Grafana | `http://localhost:3005/api/health` | 200 | Health check Grafana |
|
|
| Grafana | `http://localhost:3005/` | 200,301,302 | Dashboard Grafana |
|
|
| Loki | `http://localhost:3100/ready` | 200 | Health check Loki |
|
|
| Status API | `http://localhost:3006/api` | 200 | API de statut |
|
|
|
|
### URLs Externes (Domaine Public)
|
|
|
|
| Service | URL | Code Attendu | Description |
|
|
|---------|-----|--------------|-------------|
|
|
| Site Principal | `https://dev4.4nkweb.com/` | 200,301,302 | Site principal |
|
|
| Page de Statut | `https://dev4.4nkweb.com/status/` | 200 | Page de statut des services |
|
|
| Dashboard Grafana | `https://dev4.4nkweb.com/grafana/` | 200,301,302 | Dashboard Grafana public |
|
|
| Application LeCoffre | `https://dev4.4nkweb.com/lecoffre/` | 200,301,302 | Application LeCoffre publique |
|
|
| Login LeCoffre | `https://dev4.4nkweb.com/lecoffre/login` | 200,301,302 | Page de login publique |
|
|
| Callback Auth | `https://dev4.4nkweb.com/lecoffre/authorized-client` | 200,301,302 | Callback d'authentification |
|
|
|
|
### APIs Externes (Backend Services)
|
|
|
|
| Service | URL | Méthode | Code Attendu | Description |
|
|
|---------|-----|---------|--------------|-------------|
|
|
| API Backend | `https://dev3.4nkweb.com/api/v1/health` | GET | 200 | Health check API backend |
|
|
| API Backend | `https://dev3.4nkweb.com/api/v1/status` | GET | 200 | Status API backend |
|
|
| IdNot State | `https://dev3.4nkweb.com/api/v1/idnot/state` | POST | 200 | Endpoint d'état IdNot |
|
|
|
|
### WebSockets Externes
|
|
|
|
| Service | URL | Description |
|
|
|---------|-----|-------------|
|
|
| Bootstrap Relay | `wss://dev3.4nkweb.com/ws/` | WebSocket de relais bootstrap |
|
|
|
|
### Services Externes (Dépendances)
|
|
|
|
| Service | URL | Code Attendu | Description |
|
|
|---------|-----|--------------|-------------|
|
|
| Mempool Signet | `https://mempool2.4nkweb.com/` | 200,301,302 | Explorateur de blockchain |
|
|
| Service IdNot | `https://qual-connexion.idnot.fr/` | 200,301,302 | Service d'authentification IdNot |
|
|
| IdNot Auth | `https://qual-connexion.idnot.fr/IdPOAuth2/authorize/idnot_idp_v1` | 200,301,302 | Endpoint d'autorisation IdNot |
|
|
|
|
## 📁 Structure des Fichiers Générés
|
|
|
|
### Backup avec Tests d'URLs
|
|
```
|
|
./backups/
|
|
├── lecoffre_backup_YYYYMMDD_HHMMSS.tar.gz
|
|
├── url-health-check-pre-backup-YYYYMMDD_HHMMSS.log
|
|
└── url-health-check-post-backup-YYYYMMDD_HHMMSS.log
|
|
```
|
|
|
|
### Production Health Check
|
|
```
|
|
./reports/
|
|
├── production-health-report-YYYYMMDD_HHMMSS.md
|
|
└── url-tests-production-YYYYMMDD_HHMMSS.log
|
|
```
|
|
|
|
## 🔍 Interprétation des Résultats
|
|
|
|
### Codes de Statut HTTP
|
|
- **200** : OK - Service accessible et fonctionnel
|
|
- **301, 302, 307, 308** : Redirections - Acceptables pour certains services
|
|
- **404** : Not Found - Service non trouvé ou mal configuré
|
|
- **500** : Internal Server Error - Erreur serveur
|
|
- **000** : Connection Failed - Impossible de se connecter
|
|
|
|
### Codes de Retour des Scripts
|
|
- **0** : Succès complet
|
|
- **1** : Succès partiel (certaines URLs échouent)
|
|
- **2** : Échec (trop d'URLs échouent)
|
|
|
|
## 🚨 Dépannage
|
|
|
|
### URLs Internes Non Accessibles
|
|
1. Vérifier que les services Docker sont démarrés
|
|
2. Vérifier les ports et la configuration réseau
|
|
3. Consulter les logs des services : `docker logs <service_name>`
|
|
|
|
### URLs Externes Non Accessibles
|
|
1. Vérifier la configuration nginx
|
|
2. Vérifier les certificats SSL
|
|
3. Vérifier la connectivité réseau externe
|
|
4. Consulter les logs nginx
|
|
|
|
### APIs Non Accessibles
|
|
1. Vérifier la configuration CORS
|
|
2. Vérifier les headers d'authentification
|
|
3. Vérifier la connectivité vers dev3.4nkweb.com
|
|
4. Consulter les logs du backend
|
|
|
|
## 📝 Exemples d'Utilisation
|
|
|
|
### Test Rapide des URLs
|
|
```bash
|
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
|
./url-health-check.sh
|
|
```
|
|
|
|
### Rapport Complet de Production
|
|
```bash
|
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
|
./production-health-check.sh
|
|
cat ./reports/production-health-report-*.md
|
|
```
|
|
|
|
### Backup avec Tests d'URLs
|
|
```bash
|
|
cd /home/debian/4NK_env/scripts/lecoffre_node
|
|
./backup-data.sh
|
|
ls -la ./backups/
|
|
```
|
|
|
|
### Surveillance Continue
|
|
```bash
|
|
# Ajouter dans un cron pour surveillance automatique
|
|
0 */6 * * * cd /home/debian/4NK_env/scripts/lecoffre_node && ./url-health-check.sh > /var/log/url-health-check.log 2>&1
|
|
```
|
|
|
|
## 🔧 Maintenance
|
|
|
|
### Mise à Jour des URLs
|
|
Pour ajouter ou modifier des URLs testées :
|
|
1. Éditer `url-health-check.sh`
|
|
2. Ajouter/modifier les sections appropriées
|
|
3. Tester le script
|
|
4. Mettre à jour cette documentation
|
|
|
|
### Configuration des Timeouts
|
|
Les timeouts par défaut sont :
|
|
- URLs internes : 5-10 secondes
|
|
- URLs externes : 10-15 secondes
|
|
- WebSockets : 5 secondes
|
|
|
|
Pour modifier les timeouts, éditer les paramètres dans les fonctions `test_url()` et `test_websocket()`.
|
|
|
|
---
|
|
|
|
**Document créé le 2025-09-25**
|
|
**Version** : 1.0
|
|
**Usage** : Scripts de santé LeCoffre Node
|