4NK_env/docs/scripts/URL-HEALTH-CHECKING.md
LeCoffre Deployment 75df8cb3de auto_clea
2025-09-25 17:34:43 +00:00

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