4NK_env/docs/scripts/URL-HEALTH-CHECKING.md
LeCoffre Deployment a97b578d40 auto_clea
2025-09-25 18:05:14 +00:00

8.3 KiB

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.

🔄 Mise à jour récente (2025-09-25)

Le script start.sh a été amélioré pour inclure des tests complets d'URLs intégrés au processus de démarrage, offrant une validation complète après le lancement des services.

🔧 Scripts Disponibles

1. start.sh (AMÉLIORÉ)

Script de démarrage avec tests d'URLs intégrés

Usage :

cd /home/debian/4NK_env/scripts/lecoffre_node
./start.sh

Nouvelles fonctionnalités (2025-09-25) :

  • Tests d'URLs complets après démarrage des services
  • Tests des URLs internes (12 services Docker)
  • Tests des URLs externes (6 endpoints publics)
  • Tests des APIs externes (3 endpoints backend)
  • Tests WebSocket (1 connexion bootstrap)
  • Tests des services externes (3 dépendances)
  • Rapport détaillé avec compteurs d'URLs accessibles/échouées
  • Support des codes HTTP multiples (200, 301, 302, 307, 308)
  • Tests API POST pour l'endpoint IdNot

2. url-health-check.sh

Script autonome de test d'URLs

Usage :

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 :

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 :

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

Démarrage Complet avec Tests d'URLs (RECOMMANDÉ)

cd /home/debian/4NK_env/scripts/lecoffre_node
./start.sh

Avantages :

  • Démarre tous les services séquentiellement
  • Vérifie les variables d'environnement
  • Teste toutes les URLs après stabilisation
  • Fournit un rapport complet

Test Rapide des URLs (Standalone)

cd /home/debian/4NK_env/scripts/lecoffre_node
./url-health-check.sh

Rapport Complet de Production

cd /home/debian/4NK_env/scripts/lecoffre_node
./production-health-check.sh
cat ./reports/production-health-report-*.md

Backup avec Tests d'URLs

cd /home/debian/4NK_env/scripts/lecoffre_node
./backup-data.sh
ls -la ./backups/

Surveillance Continue

# 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